Wenn Sie eine JAR - Datei genannt haben myJar.jar
sich in / myfolder und Sie wollen die Klasse mit dem Namen verwenden , myClass
davon, wie Sie gehen über es von der Kommandozeile zu tun?
Ich dachte, es wäre, in das Verzeichnis zu gehen und zu sagen, java -cp myJar.jar.myClass
aber das funktioniert nicht. Jede Hilfe wäre dankbar.
java
command-line
jar
Jim
quelle
quelle
java -cp myJar.jar myClass
funktioniert gut für mich - haben Sie eine falsche Periode in Ihrer Befehlszeile anstelle eines Leerzeichens?Antworten:
Verwenden Sie
java -cp myjar.jar com.mypackage.myClass
.Wenn sich die Klasse nicht in einem Paket befindet, dann einfach
java -cp myjar.jar myClass
.Wenn Sie sich nicht in dem Verzeichnis befinden, in dem Sie sich befinden
myJar.jar
, können Sie Folgendes tun:Auf Unix- oder Linux-Plattformen:
java -cp /location_of_jar/myjar.jar com.mypackage.myClass
Unter Windows:
java -cp c:\location_of_jar\myjar.jar com.mypackage.myClass
quelle
Sie wollen:
Die Dokumentation enthält das folgende Beispiel:
quelle
In Java stehen zwei Arten von JAR-Dateien zur Verfügung:
Ausführbare / ausführbare JAR-Datei, die eine Manifestdatei enthält. Um ein Runnable-Glas auszuführen, können Sie
java -jar fileName.jar
oder verwendenjava -jar -classpath abc.jar fileName.jar
Einfache JAR-Datei, die keine Manifestdatei enthält, sodass Sie Ihre Hauptklasse einfach ausführen, indem Sie ihren Pfad angeben
java -cp ./fileName.jar MainClass
quelle
Angenommen, Sie befinden sich in dem Verzeichnis, in dem sich die
myJar.jar
Datei befindet, und dasmyClass
enthält einepublic static void main()
Methode:Sie verwenden die folgende Befehlszeile:
Wo:
myJar.jar
befindet sich im aktuellen Pfad . Beachten Sie, dass er.
auf den meisten Systemen nicht im aktuellen Pfad enthalten ist. Auch hier wird ein voll qualifizierter Weg bevorzugt.myClass
Wenn es sich um einen vollständig qualifizierten Paketpfad zur Klasse handelt, wird im Beispiel davon ausgegangen, dassmyClass
sich das Standardpaket in einer schlechten Praxis befindet, wenn es sich in einem verschachtelten Paket befindetcom.mycompany.mycode.myClass
.quelle
Dies ist der richtige Weg, um eine auszuführen
.jar
, und was auch immer eine Klasse in dieser haben.jar
solltemain()
und die folgenden sind die Parameter dafür:quelle