[resolu] Jar executable

Jar executable [resolu] - Java - Programmation

Marsh Posté le 21-03-2008 à 16:37:44    

Bonjour à tous !
 
  Je suis débutant en java. J'ai fait un projet utilisant le fichier log4j.jar. J'ai ensuite voulu créer un fichier jar executable via eclipse pour executer mon projet dans une boite DOS.  
  Mais quand je lance la commande suivante :
C:\chemin\vers\mon\jar>"C:\Program Files\Java\jre1.6.0_03\bin\java.exe" -classpath C:\chemin\vers\log4j.jar -jar monJar.jar
  J'ai l'erreur suivante :
java.lang.NoClassDefFoundError: org/apache/log4j/Logger
 
Quelqu'un pourrait-il m'aider ?!? Merci d'avance...
 
Spiloack.


Message édité par spiloack le 25-03-2008 à 12:06:15
Reply

Marsh Posté le 21-03-2008 à 16:37:44   

Reply

Marsh Posté le 21-03-2008 à 16:42:10    

il faut rajouter toutes les libs que tu utilises dans ton classpath. Le jar de ton application ne les inclut pas.


Message édité par frabill le 21-03-2008 à 16:42:34
Reply

Marsh Posté le 21-03-2008 à 16:45:42    

C'est bien ce que je fais. Ce qui est étrange, c'est que le message d'erreur correspond à une classe du fichier log4j.jar déclaré dans le classpath de la ligne de commande...

Reply

Marsh Posté le 21-03-2008 à 17:01:18    

Pour éliminer les soucis, copie ton log4j.jar dans le même répertoire que monJar.jar. Et tu fais :

Code :
  1. java -cp .;log4j.jar -jar monJar.jar


Message édité par frabill le 21-03-2008 à 17:01:32
Reply

Marsh Posté le 21-03-2008 à 17:06:02    

J'ai fais ça, mais ça me mets toujours la même erreur :  
Exception in thread "Thread-0" java.lang.NoClassDefFoundError: org/apache/log4j/Logger  
 :??:


Message édité par spiloack le 21-03-2008 à 17:06:46
Reply

Marsh Posté le 21-03-2008 à 17:27:54    

J'ai oublié qu'il fallait indiquer le classpath dans le Manifest quand on fesait un jar exécutable :
http://java.developpez.com/faq/jav [...] reationJar

Reply

Marsh Posté le 25-03-2008 à 09:57:48    

Mon jar est créé via Eclipse, je n'ai donc pas de fichier manifeste à faire, et le classpath, je le passe dans ma ligne de commande...

Reply

Marsh Posté le 25-03-2008 à 10:02:52    

spiloack a écrit :

Mon jar est créé via Eclipse, je n'ai donc pas de fichier manifeste à faire, et le classpath, je le passe dans ma ligne de commande...


 
Alors avant d'utiliser Eclipse, tu commences par tout faire à la main et au moins tu comprendras comment ça fonctionne...
 
Et tu comprendras qu'Eclipse n'est pas infaillible et qu'il n'est qu'un outil qui t'aide en automatisant mais qu'il ne fait que ce que tu lui dis de faire. Donc s'il ne remplit pas correctement le fichier manifest, c'est à toi de le faire.  :pfff:

Reply

Marsh Posté le 25-03-2008 à 10:18:18    

J'ai fait le fichier manifeste pour lancer la création du jar à la main, et ça marche... Merci beaucoup Frabill !!!

Reply

Sujets relatifs:

Leave a Replay

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