Das ist auch im Jahr 2017 noch ein Thema, ich hoffe, es hilft jemandem da draußen! Ich habe 2 Möglichkeiten gefunden, funktionierende jar-s unter IntelliJ 2017.2 zu erstellen
1. Erstellen eines Artefakts aus IntelliJ:
- Gehen Sie zur Projektstruktur:
- Erstellen Sie ein neues Artefakt:
- Wählen Sie die Hauptklasse aus und stellen Sie sicher, dass Sie den Manifestordner ändern:
Sie müssen das Manifestverzeichnis ändern:
<project folder>\src\main\java
Ersetzen Sie "java" durch "resources".
<project folder>\src\main\resources
So sollte es aussehen:
-
Dann wählen Sie die Abhängigkeiten aus, die in Ihre jar-Datei gepackt werden sollen, oder in der Nähe Ihrer jar-Datei
-
Um Ihr Artefakt zu erstellen, gehen Sie zu Artefakte erstellen und wählen Sie "rebuild". Es wird ein "out"-Ordner mit Ihrer jar-Datei und ihren Abhängigkeiten erstellt.
2. Verwendung des maven-assembly-plugin
Build-Abschnitt zur pom-Datei hinzufügen
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>ServiceCreate</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>com.svt.optimoo.App</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
- Erstellen Sie eine neue Run/Debug-Konfiguration:
- Wählen Sie eine Anwendung:
- Füllen Sie das Formular aus
- Hinzufügen des Maven-Ziels "assembly:single" nach dem Build, das als letztes ausgeführt werden soll
- Speichern Sie es und führen Sie dann
Mit diesem Verfahren wird die jar-Datei im Ordner "target" erstellt