Ich bin mit dem Projekt fertig, das eine Verbindung zur Datenbank (MySQL) herstellt. Jetzt möchte ich das Projekt als jar exportieren. Aber ich weiß nicht, wie ich seine externen Abhängigkeiten einbeziehen soll? Gibt es eine Möglichkeit, dies in Eclipse zu tun, oder sollte ich dafür Skripte verwenden?
89
Antworten:
Wenn Sie Ihr Projekt als 'Runnable JAR' exportieren (rechte Maustaste auf Projekt -> Exportieren -> Runnable JAR), haben Sie die Möglichkeit, alle Abhängigkeiten in das generierte JAR zu packen. Es gibt auch zwei andere Möglichkeiten (siehe Screenshot), um Ihre Bibliotheken zu exportieren. Beachten Sie die Lizenzen, wenn Sie entscheiden, welche Verpackungsmethode Sie verwenden möchten.
Die Dropdown-Liste "Startkonfiguration" enthält Klassen, die eine
main(String[])
Methode enthalten. Die ausgewählte Klasse wird gestartet, wenn Sie das Glas ausführen.Beim Exportieren als ausführbares JAR werden die Abhängigkeiten von Ihrem Erstellungspfad verwendet (rechte Maustaste auf Projekt -> Erstellungspfad -> Erstellungspfad konfigurieren ...). Wenn Sie als 'reguläres' (nicht ausführbares) JAR exportieren, können Sie eine beliebige Datei in Ihren Projekten auswählen. Wenn Sie die Bibliotheken in Ihrem Projektordner haben, können Sie sie einschließen, aber beispielsweise externe AbhängigkeitenMaven, kann nicht aufgenommen werden (für Maven-Projekte hier suchen ).
quelle
main()
Methoden auf, die es kennt. Versuchen Sie, Ihre Anwendung einmal auszuführen (Rechtsklick auf Projekt, Ausführen als, Java-Anwendung) und exportieren Sie sie erneut.Mit dem Export-> Java-> Runnable Jar können Sie ein Jar erstellen, das seine Abhängigkeiten enthält
Alternativ können Sie auch das Fatjar Eclipse-Plugin verwenden, um Gläser zu bündeln
quelle
Sie können mit der rechten Maustaste auf das Projekt klicken, auf Export klicken, 'jar' eingeben und 'Runnable JAR File Export' auswählen. Dort haben Sie die Option 'Erforderliche Bibliotheken in generierte JAR extrahieren'.
quelle
Persönlich,
Keine der oben genannten Antworten hat bei mir funktioniert. Ich habe immer noch NoClassDefFound-Fehler erhalten (ich verwende Maven für Abhängigkeiten). Meine Lösung bestand darin, mit "mvn clean install" zu erstellen und die von diesem Befehl erstellte "[project] -jar-with-dependencies.jar" zu verwenden. In ähnlicher Weise können Sie in Eclipse mit der rechten Maustaste auf das Projekt klicken -> Ausführen als -> Maven installieren. Die Gläser werden dann im Zielordner abgelegt.
quelle
Wenn Sie alle JAR-Dateien eines Java-Webprojekts exportieren möchten, öffnen Sie die zuletzt generierte WAR-Datei mit einem ZIP-Tool (zB 7-Zip) und navigieren Sie zum Ordner / WEB-INF / lib /. Hier finden Sie alle JAR-Dateien, die Sie für dieses Projekt benötigen (wie unter "Referenzierte Bibliotheken" aufgeführt).
quelle
Stellen Sie beim Exportieren Ihrer Quelle in ein JAR sicher, dass Sie unter den Optionen die Option "Ausführbares JAR" auswählen. Wählen Sie dann aus, ob Sie alle Abhängigkeitsgläser verpacken oder einfach direkt in die JAR-Datei aufnehmen möchten. Dies hängt von dem Projekt ab, an dem Sie arbeiten.
Anschließend führen Sie das Glas direkt mit java -jar example.jar aus.
quelle
Um eine JAR-Datei in Eclipse zu generieren, klicken Sie mit der rechten Maustaste auf das Projekt, für das Sie eine JAR-Datei generieren möchten. Wählen Sie Exportieren> Java> Ausführbare JAR-Datei.
Das Erstellungsglas enthält alle Abhängigkeiten von Pom.xml. Stellen Sie jedoch sicher, dass Lizenzprobleme vorliegen, wenn Sie Abhängigkeiten von Drittanbietern für Ihre Anwendung verwenden.
quelle
Wenn es sich um ein eigenständiges Java-Projekt (Hauptmethode) handelt, setzen Sie mit keinem Rechtspfad alle Gläser in das Projekt und keinen bestimmten Pfad. Klicken Sie dann mit der rechten Maustaste auf das Projekt -> Exportieren -> Ausführbares Glas -> Wählen Sie die Mittagskonfiguration und das Bibliothekshandling aus Wählen Sie dann die Optionsfeldoption "Erforderliche Bibliotheken in generiertes JAR packen" -> Fertig stellen.
Oder
Wenn Sie ein Webprojekt haben, legen Sie alle Gläser im Ordner web-inf / lib ab und führen Sie den gleichen Schritt aus.
quelle