Ich habe meinem Java-Projekt einige externe Bibliotheken hinzugefügt (in Netbeans).
Ist es möglich, die externe JAR-Bibliothek in das Java-Archiv zu stellen (und nicht in ein separates (zB) "lib" -Verzeichnis zu stellen)?Externe Bibliothek zum JAR hinzufügen?
Antwort
Natürlich können Sie. Es gibt einige Open-Source-Projekte, die mit einem "Bündel-Jar" heruntergeladen werden können, das alle Abhängigkeiten enthält.
Sie müssen alle Gläser extrahieren und sie dann erneut in eine Datei einteilen.
Ein Beispiel dafür mit Ant zu sehen ist here.
Mit dem Projekt JarJar können Sie abhängige Gläser in eine einzige JAR-Datei zur Verteilung verpacken.
Das Projekt stellt eine ant-Aufgabe zur Verfügung, um die Verpackung zu machen, und da Netbeans-Projekte Ant für ihren Build-Prozess verwenden, sollten Sie in der Lage sein, es relativ einfach in Ihren Build zu integrieren.
Wenn es darum geht, Gläser in Gläser zu verpacken, geschieht dies immer für Web-Apps in Kriegs- oder Ohr-Dateien. Wenn Ihre App eigenständig ist, können Sie die Jazzi entpacken und sie alle zusammen in einem resultierenden jar mit den Ant-Jar- und Unjar-Aufgaben packen: http://ant.apache.org/manual/Tasks/unzip.html Aber ich würde nicht empfehlen, dies zu tun.
Ja, das ist möglich und das resultierende Glas wird eigentlich "Uberjar" oder "Megajar" genannt. Um ein "Uberjar" zu erstellen, müssen Sie den Inhalt der externen Bibliothek (mit jar -x
) extrahieren und in Ihrem eigenen Jar (mit jar -c
) neu packen. Dies kann per Hand oder mit einem Build-Tool wie Ant (und der optionalen Unterstützung eines Projekts wie One-JAR) oder Maven erreicht werden, das über das maven-assembly-plugin (oder das maven-shade-plugin) eine Unterstützung dafür bietet)
Wenn Sie Maven verwenden, können Sie das Maven shade plugin oder das Assembly-Plugin in Betracht ziehen.
Es gibt einen einfachen Weg, es mit den eingebauten Ant-Skripten zu tun.
Es gab eine andere SO Frage zu diesem Artikel Hinweis: http://mavistechchannel.wordpress.com/2010/08/17/how-to-build-a-single-jar-file-with-external-libs/
Ich habe es, aber es war so ein Noob ich wusste nicht, wie es zu benutzen. This article hatte ein tolles visuelles Tutorial. Grundsätzlich, nach der Änderung Ihrer Ant-Skript, gehen Sie auf die Registerkarte Dateien (im Explorer auf der linken Seite) => mit der rechten Maustaste auf das xml => run tasks => andere Aufgaben => Paket für den Speicher (oder was auch immer Sie das Skript genannt)
- 1. Android - Externe Bibliothek zum Projekt hinzufügen
- 2. Externe Bibliotheken in neue Bibliothek/JAR-Datei hinzufügen
- 3. wie ich meine externe JAR-Datei zum Klassenpfad hinzufügen
- 4. Index zu JAR-Datei hinzufügen, externe JAR-Datei referenzierend
- 5. Jar zum Laufzeitpfad für JSP hinzufügen
- 6. Externe Bibliothek .jar zu Spring Boot hinzufügen.jar internal/lib
- 7. Wie externe Abhängigkeiten (JAR-Datei) zu Android Studio hinzufügen?
- 8. Drittanbieter-Bibliothek zum Erstellen von JAR-Dateien?
- 9. externe JAR-Dateien importieren
- 10. So fügen Sie externe JAR-Dateien zum Projekt "Mühlen" hinzu
- 11. Hinzufügen von externen Jar-Bibliothek zum Erstellen Cordova Plugin (Ionic Framework)
- 12. Externe JAR-Dateien in Eclipse für EAR-Projekt hinzufügen
- 13. umfassen externe jar wenn java -jar
- 14. Arquillian - einige externe Jar Probleme
- 15. Externe Jar-Datei in Cordova 3.4.0 Anwendung hinzufügen
- 16. wie man externe jar in Ausgabe jar Datei in Eclipse
- 17. Externe JAR-Datei in Android-Projekt importieren
- 18. Hinzufügen einer Bibliothek/JAR zu einem Eclipse-Android-Projekt
- 19. Javascript- externe Bibliothek/Aktenzeichen
- 20. Externe Bibliothek in Postman
- 21. Überschreiben externe Bibliothek Haupt
- 22. Externe Bibliothek in Webpack einschließen
- 23. Kann keine externe Bibliothek zu Android Studio-Projekt hinzufügen
- 24. Jar Mismatch Fehler beim Hinzufügen von Bibliothek in der Sonnenfinsternis
- 25. Linking externe Bibliothek zum Projekt gibt immer noch undefined Referenz
- 26. Externe Jar-Abhängigkeit in Eclipse mit nicht lauffähigem Jar verwenden
- 27. Hinzufügen von JAR in Android Studio 1.0
- 28. Hinzufügen einer Methode zum Klassenobjekt einer Bibliothek
- 29. Eclipse-Plugin zum Hinzufügen benutzerdefinierter Bibliothek
- 30. Visual C++ 2008; Bibliothek zum Kompilierungsprozess hinzufügen?
Was? meinst du mit 'zum Java-Archiv'? – danben
Ich denke, Jani möchte alle Glas (Bibliotheken) in ein und nur ein Glas legen. – Pierre