J'ai un programme java que j'aimerais pouvoir utiliser de n'importe où sur ma machine. Je voudrais l'exécuter depuis mon invite de commande Cygwin. J'ai fait des scripts pour appeler le programme Java. J'ai ajouté l'emplacement du programme java au classpath, et les scripts fonctionnent quand je les lance depuis le répertoire du programme java. Cependant, lorsque je tente de courir de tout autre répertoire, je reçois:Comment exécuter un programme Java à partir d'un répertoire différent?
java.lang.NoClassDefFoundError: commandprogram/CommandProgram
Ceci est mon script:
#!/bin/sh
CWD=`dirname "$0"`
java -cp "$CWD/classes;$CWD/lib/AJarFile.jar" commandprogram/CommandProgram
Modification de la ligne de java à ce qui suit:
java -cp "$CWD/classes;$CWD/classes/commandprogram;$CWD/lib/AJarFile.jar" CommandProgram
produit les mêmes résultats.
pourriez-vous poster votre script, qui donnera aux gens une meilleure idée de l'endroit où regarder ... –
ne pas que vous devez faire java commandprogram/CommandProgram.class ou java jar commandprogram/commandProgram .pot? –
n'est pas le séparateur de chemin un signe deux-points (:) au lieu du point-virgule (;) que vous avez utilisé? –