JAR-Dateien mit einem benutzerdefinierten Klassenpfad über die Befehlszeile ausführen
Beim Ausführen einer JAR-Datei, die auf externen Abhängigkeiten basiert, geben Sie den entsprechenden Klassenpfad an ist entscheidend. Dieses Problem tritt auf, wenn Versuche, eine JAR-Datei mit einem angegebenen Klassenpfadverzeichnis (lib/*) auszuführen, die Hauptklasse nicht laden oder erforderliche Bibliotheken finden können.
Die Lösung liegt im Verständnis des Verhaltens der Option -jar. Bei Verwendung ersetzt es andere mit -cp angegebene Klassenpfadeinstellungen. Dies steht in der Dokumentation:
„Wenn Sie diese Option verwenden, ist die JAR-Datei die Quelle aller Benutzerklassen und andere Benutzerklassenpfadeinstellungen werden ignoriert.“
Daher einschließlich Abhängigkeiten als Teil der JAR-Datei oder das Ändern des Klassenpfads mit -jar ist nicht möglich.
Berücksichtigen Sie diese, um die JAR-Datei erfolgreich mit dem gewünschten Klassenpfad auszuführen Optionen:
Option 1: Abhängigkeiten in JAR-Manifest einschließen
Class-Path: lib/dependency1.jar lib/dependency2.jar
Option 2: Geben Sie den Klassenpfad in der Befehlszeile an
java -cp MyJar.jar:lib/* com.somepackage.subpackage.Main
Dieser Ansatz muss alle erforderlichen JAR-Dateien berücksichtigen, einschließlich der Haupt-JAR selbst.
Das obige ist der detaillierte Inhalt vonWie führe ich eine JAR-Datei mit externen Abhängigkeiten über die Befehlszeile aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!