Compilation et exécution de java sous Unix (provenant de Windows)
Question
Ok, cela fonctionne sur Windows. Mon application Java est en cours d'exécution et fonctionne normalement
javac -classpath .;ojdbc14.jar -g foo.java
java -classpath .;ojdbc14.jar foo
Cependant, lorsque je fais la même chose sous Unix, le message d'erreur suivant s'affiche: ojdbc14.jar: non trouvé
Qu'est-ce que je fais mal? Je connais le " ;; " dit à mon shell que ojdbc14.jar est une nouvelle commande, mais je ne sais pas comment résoudre ce problème.
La solution
Utilisez un signe deux-points (":") au lieu d'un point-virgule (";").
Voir Définition du chemin de classe (Solaris et Linux ) vs Définition du chemin de classe (Windows )
Autres conseils
La solution finale était la suivante:
javac -classpath .:ojdbc14.jar -g foo.java
java -classpath .:ojdbc14.jar foo
Remarque: L'utilisation de '.; ojdbc14.jar' a supprimé le message d'erreur initial que je recevais, mais a généré le code d'erreur suivant:
Exception in thread "main" java.lang.NoClassDefFoundError: foo
javac -classpath '.;ojdbc14.jar' -g foo.java
java -classpath '.;ojdbc14.jar' foo
Utilisez ant, ou même mieux, avec un environnement de construction continu comme Hudson et un SCM comme SVN.