Exécution OK sous Eclipse, mais impossible en ligne de commande

Exécution OK sous Eclipse, mais impossible en ligne de commande - Java - Programmation

Marsh Posté le 30-04-2020 à 18:29:43    

Bonsoir,
 
Je fais face à un problème très étrange. J'ai réalisé un projet sous Eclipse, qui compile et s'exécute parfaitement. Or, lorsque j'essaie de compiler et d'exécuter à la main le projet en ligne de commande, la compilation se déroule sans le moindre problème mais impossible d'exécuter le binaire issu de la compilation !
 
Je dispose de deux fichiers .java (main.java et test.java). Ces deux classes font appel à des classes issues d'un .jar externe situé dans un autre dossier. Je compile donc comme ceci :
 

Code :
  1. javac -d "bin/" -classpath "libraries/lib.jar" src/main.java src/test.java


 
Jusqu'ici, tout va bien. Ensuite, lorsque j'essaie d'exécuter le programme, je tape :
 

Code :
  1. java -classpath "libraries/lib.jar" bin/main


 
Problème : j'obtiens systématiquement l'erreur suivante :
 
Erreur : impossible de trouver ou de charger la classe principale main
Causé par : java.lang.ClassNotFoundException: main
 
Cela fait plusieurs heures que je penche sur ce problème mais je ne parviens pas à trouver la solution (qui doit probablement être toute bête).
Je précise que le projet s'exécute sans le moindre problème lorsque je le fais directement depuis l'IDE Eclipse. C'est incompréhensible.
 
En vous remerciant par avance pour votre aide !


---------------
Étudiant, passionné par l'informatique. Mon site internet : https://www.sachifus.com
Reply

Marsh Posté le 30-04-2020 à 18:29:43   

Reply

Marsh Posté le 30-04-2020 à 21:05:28    

Sachifus a écrit :

Bonsoir,
 
Je fais face à un problème très étrange. J'ai réalisé un projet sous Eclipse, qui compile et s'exécute parfaitement. Or, lorsque j'essaie de compiler et d'exécuter à la main le projet en ligne de commande, la compilation se déroule sans le moindre problème mais impossible d'exécuter le binaire issu de la compilation !
 
Je dispose de deux fichiers .java (main.java et test.java). Ces deux classes font appel à des classes issues d'un .jar externe situé dans un autre dossier. Je compile donc comme ceci :
 

Code :
  1. javac -d "bin/" -classpath "libraries/lib.jar" src/main.java src/test.java


 
Jusqu'ici, tout va bien. Ensuite, lorsque j'essaie d'exécuter le programme, je tape :
 

Code :
  1. java -classpath "libraries/lib.jar" bin/main


 
Problème : j'obtiens systématiquement l'erreur suivante :
 
Erreur : impossible de trouver ou de charger la classe principale main
Causé par : java.lang.ClassNotFoundException: main
 
Cela fait plusieurs heures que je penche sur ce problème mais je ne parviens pas à trouver la solution (qui doit probablement être toute bête).
Je précise que le projet s'exécute sans le moindre problème lorsque je le fais directement depuis l'IDE Eclipse. C'est incompréhensible.
 
En vous remerciant par avance pour votre aide !


Bonjour à tous,
 
J'ai enfin réussi à résoudre le souci. Je vous donne la solution ici, cela pourra peut-être servir à d'autres. J'avais tout simplement oublié de mettre ceci dans le classpath : bin
 
La bonne commande pour exécuter est donc :  

Code :
  1. java -classpath "bin:libraries/lib.jar" main


 
Bonne soirée :)


---------------
Étudiant, passionné par l'informatique. Mon site internet : https://www.sachifus.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed