Wie erzeugt man ein ausführbares Java Programm mit Maven?

Antwort

Um ein ausführbares Java-Programm mit Maven zu erstellen, kannst du die folgenden Schritte befolgen: 1. **Maven-Projekt erstellen**: Öffne ein Terminal und führe den folgenden Befehl aus, um ein neues Maven-Projekt zu erstellen: ```bash mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` Dies erstellt ein neues Verzeichnis `my-app` mit einer grundlegenden Projektstruktur. 2. **In das Projektverzeichnis wechseln**: ```bash cd my-app ``` 3. **POM-Datei anpassen**: Öffne die `pom.xml`-Datei und füge das Maven-Plugin für die Erstellung eines ausführbaren JARs hinzu. Füge den folgenden Abschnitt innerhalb des `<build>`-Tags hinzu: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.3.0</version> <configuration> <archive> <manifest> <mainClass>com.example.App</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build> ``` Stelle sicher, dass du `com.example.App` durch den tatsächlichen Namen deiner Hauptklasse ersetzt. 4. **Java-Klasse erstellen**: Bearbeite die Datei `src/main/java/com/example/App.java` und füge deinen Java-Code hinzu. Hier ein einfaches Beispiel: ```java package com.example; public class App { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` 5. **Projekt bauen**: Führe den folgenden Befehl im Terminal aus, um das Projekt zu bauen und das ausführbare JAR zu erstellen: ```bash mvn clean package ``` 6. **Ausführbares JAR ausführen**: Nach dem erfolgreichen Build findest du das JAR im Verzeichnis `target`. Du kannst es mit folgendem Befehl ausführen: ```bash java -jar target/my-app-1.0-SNAPSHOT-jar-with-dependencies.jar ``` Das Programm sollte nun "Hello, World!" in der Konsole ausgeben.

KI fragen

Verwandte Fragen

Was bedeutet der PrimeFaces-Fehler 'java.lang.IllegalStateException: UT000002: The response has already been started'?

Die Fehlermeldung `java.lang.IllegalStateException: UT000002: The response has already been started` tritt häufig in Java-Webanwendungen auf, die mit Frameworks wie PrimeFaces, JSF oder Servlets... [mehr]

Wie behebe ich den Fehler java.lang.IllegalStateException: UT000002: The response has already been started in PrimeFaces?

Die Fehlermeldung `java.lang.IllegalStateException: UT000002: The response has already been started` tritt häufig in Java-Webanwendungen auf, die mit PrimeFaces, JSF und einem Servlet-Container w... [mehr]

Was bedeutet der Fehler java.lang.IllegalStateException: UT000002: The response has already been started?

Die Fehlermeldung `java.lang.IllegalStateException: UT000002: The response has already been started` tritt typischerweise in Java-Webanwendungen auf, die den [Undertow](https://undertow.io/) Webserver... [mehr]

Wann werden in PL/pgSQL Variablen einer Funktion instanziiert und sind sie gemäß Java-Begriffen static oder dynamisch?

In PL/pgSQL (der prozeduralen Sprache von PostgreSQL) werden Variablen innerhalb einer Funktion **bei jedem Funktionsaufruf neu instanziiert**. Das bedeutet: - **Instanziierung:** Die Variablen werde... [mehr]

Welche Programmiersprache verwendet th:text="${errorMsg}"?

Der Ausdruck `th:text="${errorMsg}"` stammt aus Thymeleaf, einer serverseitigen Template-Engine für Java-Anwendungen. Thymeleaf wird häufig in Kombination mit Spring Boot oder Spri... [mehr]

Wie kann ich in Java den zu einem OutputStream gehörenden Socket ermitteln?

In Java gibt es keine direkte Möglichkeit, von einem beliebigen `OutputStream`-Objekt auf den zugehörigen `Socket` zuzugreifen. Der Grund ist, dass das Konzept eines `OutputStream` sehr allg... [mehr]

Was ist JImage in Java?

In Java bezeichnet **JImage** ein Dateiformat und eine zugehörige API, die mit dem Java Platform Module System (ab Java 9) eingeführt wurden. JImage-Dateien werden verwendet, um Java-Klassen... [mehr]

Was sind die Unterschiede zwischen Java und Python?

Java und Python sind beide beliebte Programmiersprachen, unterscheiden sich aber in mehreren wichtigen Punkten: 1. **Syntax**: - **Python** hat eine sehr einfache, leicht lesbare Syntax. Es verz... [mehr]

Wie sieht ein vollständiges Java-Programm aus, das eine Datei als InputStream via ICAP RESPMOD über Socket in mehreren Chunks mit Preview zum Virenscan sendet?

Ein vollständiges Java-Programm, das eine Datei als InputStream via ICAP RESPMOD über einen Socket in mehreren Chunks (mit Preview) zum Virenscan sendet, ist recht komplex. Es erfordert ein... [mehr]

Fängt ein try-catch-Block mit 'catch (Exception e)' in Java auch RuntimeExceptions ab?

Ja, auch **RuntimeExceptions** werden von einem `catch (Exception e)`-Block in Java behandelt. In Java ist `RuntimeException` eine Unterklasse von `Exception`. Das bedeutet, dass ein `catch (Exceptio... [mehr]