Heim > Java > javaLernprogramm > Wie führe ich eine JAR-Datei mit externen Abhängigkeiten über die Befehlszeile aus?

Wie führe ich eine JAR-Datei mit externen Abhängigkeiten über die Befehlszeile aus?

Linda Hamilton
Freigeben: 2024-12-16 13:18:15
Original
466 Leute haben es durchsucht

How to Run a JAR File with External Dependencies from the Command Line?

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

  • Fügen Sie alle erforderlichen JAR-Dateien aus dem lib-Verzeichnis zum JAR-Manifest hinzu, indem Sie relative Pfade verwenden.
  • Zum Beispiel, wenn die Ziel-JAR-Datei MyJar.jar heißt und die Abhängigkeiten in sind lib/dependency1.jar, lib/dependency2.jar usw. wäre der Manifesteintrag wie folgt:
Class-Path: lib/dependency1.jar lib/dependency2.jar
Nach dem Login kopieren

Option 2: Geben Sie den Klassenpfad in der Befehlszeile an

  • Verwenden Sie die Option -cp, um sowohl die JAR-Datei als auch den Klassenpfad anzugeben Verzeichnis:
java -cp MyJar.jar:lib/* com.somepackage.subpackage.Main
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage