668 Stimmen

Wie baut man Jars aus IntelliJ richtig?

Ich habe ein Projekt, das ein einzelnes Modul und einige Abhängigkeiten enthält. Ich möchte eine Jar-Datei in einem separaten Verzeichnis erstellen, die das kompilierte Modul enthält. Außerdem möchte ich, dass die Abhängigkeiten neben meinem Modul vorhanden sind.

Egal, wie ich den "build jar"-Prozess von IntelliJ drehe, die Ausgabe meines Moduls erscheint leer (außer einer META-INF-Datei).

2voto

bhavya Punkte 71

Verwendung von

mvn clean package spring-boot:repackage

Geben Sie den obigen Befehl in IntelliJ Terminal ein. Es wird eine Zieldatei mit ausführbarem Jar erzeugt.

1voto

Vugluskr Punkte 1406

Idee 8.1.3

Jar ist in Ordnung, da es eine kompilierte Ausgabe im Verzeichnis "output" (project/out/production//) gibt.

Ich schätze, Sie müssen 'make' ausführen, bevor Sie ein jar erstellen.

für Abhängigkeiten markieren Sie einfach "Bibliothek anzeigen" und wählen Sie aus, was Sie wollen.

0 Stimmen

Ohne gradle seine Arbeit richtig, aber wenn ich gradle basierte Projekt in IntelliJIdea seine Show bauen C:\Validate\out\artifacts\Validate_jar >java -jar Validate.jar Fehler: Konnte die Hauptklasse Validate nicht finden oder laden Verursacht durch: java.lang.ClassNotFoundException: Validate

1voto

Sabri Meviş Punkte 2001

Hier ist die offizielle Antwort von IntelliJ IDEA 2018.3 Hilfe . Ich habe es versucht und es hat funktioniert.

So erstellen Sie eine JAR-Datei aus einem Modul;

  1. Wählen Sie im Hauptmenü Build | Build Artifact.

  2. Wählen Sie aus der Dropdown-Liste das gewünschte Artefakt vom Typ JAR. Die Liste zeigt alle Artefakte, die für das aktuelle Projekt konfiguriert sind. Um alle konfigurierten Artefakte zu erstellen, wählen Sie die Option Alle Artefakte erstellen Artefakte erstellen.

1voto

Orkhan Hasanli Punkte 493

Mein Problem war folgendes: Ich verwendete Intellij IDEA (versuchte verschiedene Versionen) + Gradle. Wenn ich das Projekt kompiliert und gebaut artifacf jar, wie in den oben genannten Antworten angegeben, erhielt ich einen Fehler - "keine Hauptmanifest attrubute ..."

Diese Lösung hat bei mir funktioniert (besonderen Dank an Thilina Ashen Gamage (siehe oben) für den Tipp):

Auszug - wenn Sie externe Bibliotheken verwenden und ein Projekt über Projekteinstellungen - Artefakte - Hinzufügen (+) - Jar - Von Modulen mit Abhängigkeiten dann wird wahrscheinlich aufgrund eines Programmfehlers der META-INF-Ordner mit der MANIFEST_MF-Datei nicht in das jar aufgenommen. Um dies zu vermeiden, erstellen Sie LEER jar-Datei.

Projekteinstellungen - Artefakte - Hinzufügen (+) - Jar - EMPTY JAR . META-INF-Ordner wird hinzugefügt zu Ressourcen Ordner. Wählen Sie dann Ihre Hauptklasse aus. Sie werden die folgende jar-Struktur sehen: note the presence of a folder META-INF Beachten Sie das Vorhandensein eines Ordners META-INF Dann können Sie Ihr Projekt und die Build-Artefakte erstellen. Diese Lösung funktioniert auch für javaFX-Anwendungen.

0voto

KeepAtIt Punkte 151

Verwenden Sie Gradle, um Ihr Projekt zu bauen, dann ist das jar in der Build-Datei enthalten. Hier ist ein Stack Overflow-Link, wie man .jar-Dateien mit Gradle baut.

Java-Projekt mit Gradle und Erstellen einer jar-Datei in Intellij IDEA - wie geht das?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X