Wie führe ich ein java-Programm aus einem anderen Verzeichnis?
Ich habe ein java-Programm, dass, würde ich mag, um in der Lage zu laufen von irgendwo auf meinem Rechner. Ich möchte es aus meiner Cygwin-Eingabeaufforderung. Ich habe Skripte zum Aufruf des java-Programms. Ich habe den Speicherort des java-Programms den classpath und die Skripte funktionieren, wenn ich Sie laufen aus dem java-Programm-Verzeichnis. Jedoch, wenn ich versuche zu laufen, von einem beliebigen anderen Verzeichnis, erhalte ich:
java.lang.NoClassDefFoundError: commandprogram/CommandProgram
Dies ist mein Skript:
#!/bin/sh
CWD=`dirname "$0"`
java -cp "$CWD/classes;$CWD/lib/AJarFile.jar" commandprogram/CommandProgram
Ändern der java-Zeile auf den folgenden:
java -cp "$CWD/classes;$CWD/classes/commandprogram;$CWD/lib/AJarFile.jar" CommandProgram
liefert die gleichen Ergebnisse.
InformationsquelleAutor der Frage Swoogan | 2009-07-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
fügen Sie Ihrem Verzeichnis in classpath Beispiel:
oder
InformationsquelleAutor der Antwort woakas
Nach dem Versuch fast alles, was ich denken konnte, ich hallte den Befehl und sah, dass es die Vermischung von Cygwin-Pfade und Windows-Pfade. Die Lösung war, ändern Sie das Skript:
Dann CWD geändert "C:\Program Dateien\..." statt "/cygdrive/c/Program\ Files/..."
Hatte ich zuvor begegnet diesem problem und löste es mit der
cygpath -w
Lösung, aber dann änderte sich mein Skript etwas und nicht bemerken, dass der Pfad-problem kam wieder.InformationsquelleAutor der Antwort Swoogan
müssen Sie einen Punkt in separate Pakete, nicht mit einem Schrägstrich.
InformationsquelleAutor der Antwort cd1
Die übliche Art und Weise ausführen einer java-Datei zu speichern, es in die
Java/Bin
- Ordner und Führen Siecmd
Wenn Sie speichern Sie die Datei in einem anderen Verzeichnis wie
D:
können Sie die folgenden auf der cmd-Eingabeaufforderung:InformationsquelleAutor der Antwort Kaushik