Ich habe Datei jar unter C gestellt: \ tempWarum erhalte ich einen NoClassDefFoundError beim Ausführen einer JAR-Datei von CMD?
innerhalb jar-Manifest-Datei enthält und alle zugehörigen JAR-Dateien gibt es unter lib Ordner
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.1
Created-By: 1.8.0_111-b14 (Oracle Corporation)
Class-Path: lib/httpclient-4.2.1.jar lib/httpcore-4.2.1.jar lib/common s-logging-1.1.1.jar lib/httpclient-cache-4.2.5.jar lib/httpmime-4.2.5.jar lib/log4j-1.2.13.jar lib/log4j-api-2.0-beta9.jar lib/log4j-core-2.0-beta9.jar lib/gson-2.2.4-javadoc.jar lib/gson-2.2.4-sources.jar lib/gson-2.2.4.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: abc.service.Main
Wenn ich als
ausführenjava -jar C:\temp\test.jar
I Erhalte den folgenden Fehler:
Meinst du, dein 'lib'-Verzeichnis ist * innerhalb * der JAR-Datei? Ich denke nicht, dass das helfen wird. Versuchen Sie, das lib-Verzeichnis mit den JAR-Dateien direkt in 'c: \ temp' zu platzieren und versuchen Sie es erneut ... –
ja. Alle Abhängigkeits-JAR-Dateien befinden sich in der Bibliothek von test.jar. – user3312405
Richtig, soweit ich weiß, funktioniert das 'Class-Path'-Attribut eines JAR-Dateimanifests nicht so. –