Heim > Java > javaLernprogramm > Wie führe ich eine JAR-Datei mit zusätzlichen Klassenpfadoptionen aus?

Wie führe ich eine JAR-Datei mit zusätzlichen Klassenpfadoptionen aus?

DDD
Freigeben: 2024-11-03 22:22:02
Original
1093 Leute haben es durchsucht

How to Execute a JAR File with Additional Classpath Options?

Aufruf von „java -jar MyFile.jar“ mit zusätzlicher Classpath-Option

Beim Ausführen einer JAR-Datei mit dem Befehl „java -jar MyFile.jar“ ist dies unerlässlich um die Klassenpfadanforderungen zu verstehen. Die Option „-jar“ bedeutet, dass die JAR-Datei die auszuführende Hauptklasse enthält, während „-cp“ zur Angabe eines zusätzlichen Klassenpfads verwendet wird.

Im gegebenen Szenario ist der aufgetretene Fehler wahrscheinlich darauf zurückzuführen die Kombination der Optionen „-jar“ und „-cp“. Wie in der Antwort erläutert, schließen sich diese Optionen gegenseitig aus. Die gleichzeitige Verwendung beider Optionen führt zu einem mehrdeutigen Befehl, den Java nicht interpretieren kann.

Um das Problem zu beheben, hat der Benutzer zwei Möglichkeiten:

  • Option 1: Verwenden das Manifest-Class-Path-Attribut:

    Bei diesem Ansatz enthält das Manifest der JAR-Datei das „Class-Path“-Attribut, das die erforderlichen JARs im Klassenpfad angibt. Dadurch entfällt die Notwendigkeit der Option „-cp“.

  • Option 2: Geben Sie den vollständigen Klassenpfad mit „-cp“ an:

    Für Bei dieser Option würde der Befehl „java -cp 'MyProgram.jar:libs/*' main.Main“ lauten. Hier gibt „-cp“ den vollständigen Klassenpfad an, einschließlich der Haupt-JAR und ihrer Abhängigkeiten, während die explizite Benennung der Klasse „main.Main“ dafür sorgt, dass sie als Einstiegspunkt ausgeführt wird.

Alternativ kann Ant genutzt werden. Für den „Manifest-Ansatz“ wird der „“ Die Aufgabe fügt dem Manifest Abhängigkeiten hinzu, bevor das JAR erstellt wird.

Andererseits wird beim „Klassenpfad-Ansatz“ der vollständige Klassenpfad mithilfe der Option „-cp“ in Verbindung mit der JAR-Datei und expliziter Benennung angegeben der Hauptklasse. Diese Methode eignet sich, wenn die Zielumgebung das „Class-Path“-Attribut des Manifests nicht erkennt.

Das obige ist der detaillierte Inhalt vonWie führe ich eine JAR-Datei mit zusätzlichen Klassenpfadoptionen 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage