Exe jar librairies [Résolu]

kourdou59 56 Messages postés samedi 4 novembre 2000Date d'inscription 5 septembre 2005 Dernière intervention - 17 août 2005 à 16:12 - Dernière réponse : kourdou59 56 Messages postés samedi 4 novembre 2000Date d'inscription 5 septembre 2005 Dernière intervention
- 18 août 2005 à 11:05
Yo !
J'ai un problème avec mon exe. J'ai généré un exécutable sous Jbuilder X. Quand je le lance en mode console, j'ai le message suivant :
Exception in thread "main" java.lang.NoClassDefFoundError: javax/comm/SerialPortEventListener
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at version_06.MonAppli.(MonAppli.java:20)
at version_06.MonAppli.main(MonAppli.java:86)

Quand j'ai généré l'exe, j'ai inclu ttes les librairies et jar que j'utilise. Apparemment mal car c'est de là que viendrait le problème puisque le javax/comm/SerialPortEventListener fait partie d'un jar ajouté.
J'ai essayé de modifier le classpath... mais toujours le même message. J'en ai ma dose donc si quelqu'un pouvait m'éclairer... merci à vous !
Afficher la suite 

Votre réponse

18 réponses

Meilleure réponse
dmaillet 500 Messages postés mercredi 20 août 2003Date d'inscription 11 juillet 2007 Dernière intervention - 18 août 2005 à 10:24
3
Merci
essaies:



java -classpath "v:\version70\version06.jar;
c:\librairiesIndispensables\comm.jar;
c:\librairiesIndispensables\jdbc.jar;" version_06.MonAppli

Merci dmaillet 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de dmaillet
Meilleure réponse
kourdou59 56 Messages postés samedi 4 novembre 2000Date d'inscription 5 septembre 2005 Dernière intervention - 18 août 2005 à 11:05
3
Merci
On y arrive ! Tout à l'heure, je te disais que ça marchait avec la commande de JBuilder : javaw -classpath "v:\version70\classes; c:\librairiesIndispensables\comm.jar; c:\librairiesIndispensables\jdbc.jar; + les autres .jar de Jbuilder" version_06.MonAppli
Effectivement, ça n'utilisait pas le .jar que j'avais créé mais dans l'euphorie que ça marchait, j'ai pas tilté.
Donc j'ai repris ta commande de départ et j'ai ajouté les autres .jar de Jbuilder. Ce qui me donne : java -classpath "v:\version70\version06.jar; c:\librairiesIndispensables\comm.jar; c:\librairiesIndispensables\jdbc.jar; + les autres .jar de JBuilder" version_06.MonAppli

Et là ça marche nickel. Merci pour ta précieuse aide !!!

Merci kourdou59 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de kourdou59
kourdou59 56 Messages postés samedi 4 novembre 2000Date d'inscription 5 septembre 2005 Dernière intervention - 17 août 2005 à 16:33
0
Merci
J'ai demandé une copie du manifest à la génération de l'exécutable. Et dedans, y a pas la ligne Class-Path:...
Ainsi il peut pas trouver mes fichiers jar... Mais je sais toujours pas comment je peux faire...
Commenter la réponse de kourdou59
dmaillet 500 Messages postés mercredi 20 août 2003Date d'inscription 11 juillet 2007 Dernière intervention - 18 août 2005 à 09:10
0
Merci
Beurk! Generer un exe! Et la portabilite!
Commenter la réponse de dmaillet
kourdou59 56 Messages postés samedi 4 novembre 2000Date d'inscription 5 septembre 2005 Dernière intervention - 18 août 2005 à 09:27
0
Merci
Oué je sais. Mais faut que ce truc fonctionne sur n'importe quelle machine. Au pire, même un jar, ça m'irait; Mais j'ai toujours le problème des librairies absentes !
Commenter la réponse de kourdou59
dmaillet 500 Messages postés mercredi 20 août 2003Date d'inscription 11 juillet 2007 Dernière intervention - 18 août 2005 à 09:38
0
Merci
Qd tu generes ton jar sous jbuilder, tu a le choix d'inclure ou d'exclure les ressources.

Si tu choisis de les exclures tu dois faire un script de lancement pour ajouter au classpath les ressources.

Sois un script .bin sous linux, sois un .bat sous windows. A ce moment la, tu lances le script et non le jar.
Commenter la réponse de dmaillet
kourdou59 56 Messages postés samedi 4 novembre 2000Date d'inscription 5 septembre 2005 Dernière intervention - 18 août 2005 à 09:50
0
Merci
Quand je génère le jar sous jbuilder, je demande d'inclure les ressources... Mais j'ai lu quelque part, que des fichiers jar ne pouvaient pas être incorpérés dans un autre jar.
A ce moment là, je vais opter pour les exclure. Par contre, je vois pas trop ce qu'il faut mettre dans le .bat... Pourrais tu m'éclairer.. Je te remercie !
Commenter la réponse de kourdou59
kourdou59 56 Messages postés samedi 4 novembre 2000Date d'inscription 5 septembre 2005 Dernière intervention - 18 août 2005 à 09:59
0
Merci
peut-être je tape pas la bonne commande sous l'invite de commandes : java -jar "version 06.jar"
J'ai regardé dans ma variable d'environnement classpath, j'ai remis tout ce que Jbuilder me mettait à la compilation.
Commenter la réponse de kourdou59
dmaillet 500 Messages postés mercredi 20 août 2003Date d'inscription 11 juillet 2007 Dernière intervention - 18 août 2005 à 10:02
0
Merci
Si tu peux inclure des jar dans un jar (sinon jbuilder ne te le proposerait pas) mais c'est plus propre de les avoir en dehors.



exeemple de .bat simple (dans un bloc note, tu enregistres ensuite sous un nom genre nom_appli.bat)



C:\j2sdk1.4.2_01\bin\java -cp " C:\monjar.jar; C:\jarressource1; C:\jarressource2" monPackage.maclassePrincipale



sous linux, idem, mais tu enregistre sous un .bin, et a la place des separateurs ";" tu as des ":"



#!/bin/sh

/usr/java/j2sdk1.4.2_01/bin/java -cp " C:\monjar.jar: C:\jarressource1: C:\jarressource2" monPackage.maclassePrincipale
Commenter la réponse de dmaillet
dmaillet 500 Messages postés mercredi 20 août 2003Date d'inscription 11 juillet 2007 Dernière intervention - 18 août 2005 à 10:03
0
Merci
Tu peux aussi taper les commande en console, commande idem.
Commenter la réponse de dmaillet
kourdou59 56 Messages postés samedi 4 novembre 2000Date d'inscription 5 septembre 2005 Dernière intervention - 18 août 2005 à 10:17
0
Merci
Merci mais j'ai toujours le même message que j'avais tout au début. Peut-être ça vient de mon arborescence.
Voilà ce que j'ai tapé :
java -cp "v:\version70\version06.jar; c:\librairiesIndispensables\comm.jar; c:\librairiesIndispensables\jdbc.jar;" version_06.MonAppli

L'arborescence sous Jbuilder est celle-ci :
version70\mon_appli.bat
version70\version06.jar
version70\src\version_06\*.java
version70\classes\version_06\*.class

Désolé, je suis pas doué.
Commenter la réponse de kourdou59
dmaillet 500 Messages postés mercredi 20 août 2003Date d'inscription 11 juillet 2007 Dernière intervention - 18 août 2005 à 10:26
0
Merci
C'est le meme message qu'au depart que tu obtiens???
Commenter la réponse de dmaillet
kourdou59 56 Messages postés samedi 4 novembre 2000Date d'inscription 5 septembre 2005 Dernière intervention - 18 août 2005 à 10:39
0
Merci
Aucun changement. Toujours le même message. Donc je me suis fortemement inspiré de ton truc et j'ai copié dans le .bat la commande que jbuilder lance pour lancer l'appli. Et là, ça marche ! Elle différence très peu de la tienne.
Elle utilise javaw au lieu de java (je sais pas trop la différence car en cours, sous linux, j'utilisais aussi java pour lancer). Par contre, il me manquait plein de librairies propres à JBuilder dans le classpath...

Encore merci pour ton aide... J'y vois beaucoup plus clair !
Commenter la réponse de kourdou59
dmaillet 500 Messages postés mercredi 20 août 2003Date d'inscription 11 juillet 2007 Dernière intervention - 18 août 2005 à 10:41
0
Merci
Ce n'est pas normal qu'avec ce que j'ai t'ai donne, ca ne marche pas,

la commande de jbuilder passe par les classes, et pas par un jar...
Commenter la réponse de dmaillet
kourdou59 56 Messages postés samedi 4 novembre 2000Date d'inscription 5 septembre 2005 Dernière intervention - 18 août 2005 à 10:45
0
Merci
Peut être je m'y prend mal dans la construction du jar sous jbuilder. C'est koi la commande pour que je puisse le créer, et suivre la commande que tu m'as filé ?
Commenter la réponse de kourdou59
kourdou59 56 Messages postés samedi 4 novembre 2000Date d'inscription 5 septembre 2005 Dernière intervention - 18 août 2005 à 10:48
0
Merci
A lire le message tout en haut, ça viendrait du javax/com/Serial... Mais ça, c une classe du fichier comm.jar que j'importe.
Commenter la réponse de kourdou59
dmaillet 500 Messages postés mercredi 20 août 2003Date d'inscription 11 juillet 2007 Dernière intervention - 18 août 2005 à 10:48
0
Merci
tu peux utliser le wizerd de jbuilder, on l'utilise pour notre appli pro et il fonctionne tres bien,

qd tu as beaucoup de classe, beaucoup de ressources, c'est plus pratique.

je ne me souviens plus de la commande exact pour faire un jar, maisd si
tu tape juste "jar" en console tu dois obtenir toutes les infos.
Commenter la réponse de dmaillet
dmaillet 500 Messages postés mercredi 20 août 2003Date d'inscription 11 juillet 2007 Dernière intervention - 18 août 2005 à 10:49
0
Merci
Hum, tu as du te planter dans le path de comm.jar tout simplement,
regarde celui qu'utilise jbuilder et regarde le path que tu mets toi...
Commenter la réponse de dmaillet

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.