Ho un programma java che mi piacerebbe poter eseguire da qualsiasi luogo sulla mia macchina. Mi piacerebbe eseguirlo dal mio prompt dei comandi Cygwin. Ho creato script per chiamare il programma java. Ho aggiunto la posizione del programma java al classpath e gli script funzionano quando li eseguo dalla directory del programma java. Tuttavia, quando si tenta di eseguire da qualsiasi altra directory, ottengo:Come si esegue un programma java da una directory diversa?
java.lang.NoClassDefFoundError: commandprogram/CommandProgram
Questo è il mio script:
#!/bin/sh
CWD=`dirname "$0"`
java -cp "$CWD/classes;$CWD/lib/AJarFile.jar" commandprogram/CommandProgram
La modifica della linea di Java al seguente:
java -cp "$CWD/classes;$CWD/classes/commandprogram;$CWD/lib/AJarFile.jar" CommandProgram
produce gli stessi risultati.
puoiaffiggere lo script, che darà alle persone una migliore idea su dove guardare ... –
non avete bisogno di fare java commandprogram/CommandProgram.class o java-jar commandprogram/commandProgram .vaso? –
non è il separatore di percorso a due punti (:) invece del punto e virgola (;) che hai usato? –