Heim > Java > javaLernprogramm > Hauptteil

Wie behebe ich „java.lang.ClassNotFoundException' bei Verwendung von „java -jar' mit einem zusätzlichen Klassenpfad?

Mary-Kate Olsen
Freigeben: 2024-11-04 00:24:30
Original
1021 Leute haben es durchsucht

How to Resolve

Auflösen der ClassNotFoundException bei Verwendung von „java -jar“ mit einem zusätzlichen Klassenpfad

Beim Ausführen einer JAR-Datei mit „java -jar MyFile. jar“ und die Angabe eines zusätzlichen Klassenpfads kann der Fehler „java.lang.ClassNotFoundException“ auftreten. Dieser Fehler deutet darauf hin, dass die Laufzeitumgebung nicht auf die zum Ausführen des Programms erforderlichen Bibliotheken zugreifen kann.

Um dieses Problem zu beheben, ist es wichtig zu verstehen, dass die Option „-jar“ die JAR-Datei als eigenständige Anwendung startet. Das bedeutet, dass es intern alle erforderlichen Abhängigkeiten enthalten sollte. Die Verwendung von „-cp“ zur Angabe eines externen Klassenpfads ist für Situationen gedacht, in denen die JAR-Datei nicht eigenständig ist.

Daher gibt es zwei empfohlene Vorgehensweisen:

  1. Manifest-Klassenpfad (wenn die JAR eigenständig ist):

    • Kopieren Sie die erforderlichen Bibliotheken in den Unterordner „libs“.
    • Verwenden Sie Ants „
    • Führen Sie das Programm mit „java -jar MyProgram.jar“ aus und die erforderlichen Bibliotheken werden automatisch geladen.
  2. Expliziter Klassenpfad (wenn die JAR nicht eigenständig ist):

    • Platzieren Sie die Haupt-JAR und alle Abhängigkeiten das gleiche Verzeichnis.
    • Führen Sie das Programm mit „java -cp '.libs/' main.Main“ aus, wobei „.“ stellt das aktuelle Verzeichnis dar und der Stern () schließt alle JAR-Dateien im Verzeichnis „libs“ ein.

Durch die Implementierung eines dieser Ansätze werden die zusätzlichen Bibliotheken hinzugefügt während der Ausführung für die JAR-Datei zugänglich, wodurch der Fehler „ClassNotFoundException“ behoben wird.

Das obige ist der detaillierte Inhalt vonWie behebe ich „java.lang.ClassNotFoundException' bei Verwendung von „java -jar' mit einem zusätzlichen Klassenpfad?. 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