Ich möchte den Unterschied zwischen dem Extrahieren und Packen von Bibliotheken in eine JAR-Datei aus Eclipse mit der Ausführung der ausführbaren JAR-Datei kennen.
Was soll ich auswählen, wenn mein Programm (ausführbares JAR) andere Klassen verwendet, für die diese externen Bibliotheken (JAR) erforderlich sind?
java
jar
executable
ctekk
quelle
quelle
Antworten:
Wenn Sie Gläser in Ihre generierte JAR-Datei einfügen möchten, können Sie die Verpackungsmethode verwenden. Wenn Sie beispielsweise eine Apache-Bibliothek oder andere Jars von Drittanbietern verwenden, möchten Sie diese Jars möglicherweise in Ihrem generierten Jar aufbewahren. Verwenden Sie in diesem Fall die Verpackung. Mit der Option "Erforderliche Bibliotheken in eine JAR-Datei packen" werden
org.eclipse.jdt.internal.jarinjarloader
Paketklassen in Ihre generierte Datei eingefügt, und dieses Paket befindet sich direkt im Stammverzeichnis der generierten JAR-Datei. Diese Option erstellt aufgrund der JAR-Loader-Klassen von Eclipse auch eine größere JAR-Datei in Bezug auf die Größe.Das Extrahieren der erforderlichen Bibliotheken führt dazu, dass Klassen von Bibliotheken von Drittanbietern in Ihre JAR-Datei eingefügt werden, indem die Paketbenennungskonvention befolgt wird. Wenn Sie beispielsweise Ihren JAR-Inhalt öffnen, werden unter Klassen einige Klassen
org.apache..
angezeigt.Die Einträge der Hauptklasse unterscheiden sich zwischen den
MANIFEST.MF
Dateien dieser JAR-Dateien:Hauptklasseneintrag beim Packen der erforderlichen Bibliotheken:
Hauptklasseneintrag beim Extrahieren der erforderlichen Bibliotheken:
quelle
Für mich besteht der Hauptunterschied darin, dass verpackte JAR-Dateien als eigenständiges Element intakt enthalten sind und daher ihre Copyright-Informationen und Signaturdaten beibehalten.
Wenn Sie Extrahieren wählen , werden die Klassendateien aus ihrem ursprünglichen Kontext herausgezogen und so gespeichert, als hätten Sie sie erstellt, wodurch möglicherweise einige Lizenzbedingungen verletzt werden, obwohl die Größe der endgültigen JAR in diesem Fall kleiner ist. Eclipse warnt Sie auch in diesem Fall vor einer Lizenzierung.
Wenn Sie also JAR-Bibliotheken von Drittanbietern verwenden, ist es professionell, immer zu verpacken .
quelle
Probieren Sie es in beide Richtungen aus und öffnen Sie die resultierenden JAR-Dateien mit einem Zip-Programm. Sehr lehrreich.
quelle