Exception in thread "thread-2" java.lang.noclassdeffounderror
thebronx05
Messages postés5Date d'inscriptionjeudi 29 avril 2010StatutMembreDernière intervention19 février 2012
-
12 févr. 2012 à 13:49
Utilisateur anonyme -
19 févr. 2012 à 15:25
Bonjour,
j'ai une application que j'ai faite avec JBuilder2006, quand je la lance avec JBuilder ( compilation + execution) tout marche à merveille, mais quand je l'execute ( par double clique ) à partir de l'executable .exe cette erreur apparet :
Exception in thread "Thread-2" java.lang.NoClassDefFoundError: oracle/dms/instrument/ExecutionContextForJDBC
Est-ce que quelqu'un à une solution à ce problème , merci.
A voir également:
Exception in thread main java.lang.noclassdeffounderror
thebronx05
Messages postés5Date d'inscriptionjeudi 29 avril 2010StatutMembreDernière intervention19 février 2012 15 févr. 2012 à 09:01
Bonjour,
Moi je travail avec JBuilder 2006 et non pas eclipse.
En effet, j'ai ajouté la librairie dans mon classpath du projet (et non pas du projet par défaut), ce qui est pas normal c'est que quand je lance lance l'application avec JBuilder (compiler + exécuter) l'application marche très bien, mais quand je lance directement par l’exécutable généré cette erreur est apparu, je comprend pas ce qui se passe, ça doit surement avoir un lien avec la génération du jar mais je ne sais pas quoi...
Il manque dms.jar dans le classpath de ton application. Je ne sais pas comment ton exécutable est créé. S'il lance une application Java standard, tu dois passer le bon classpath (contenant le chemin de dms.jar et des autres JARs nécessaires dont ceux de JDBC et le pilote du SGBD) comme paramètre de la machine virtuelle. Le fait d'utiliser un IDE ne change rien, tu dois comprendre comment Java fonctionne avant d'utiliser un tel outil, que ce soit JBuilder, Eclipse ou Netbeans. Bon courage.
thebronx05
Messages postés5Date d'inscriptionjeudi 29 avril 2010StatutMembreDernière intervention19 février 2012 19 févr. 2012 à 09:56
Gouessej : j'ai ajouté les librairie nécéssaires dans le casspath de mon projet ( y compris ojdbc14dms.jar et dms.jar ) mais même problème.
J'ai des information supplémentaires si ça peut vous aider à cerner le problème :
Voilà, moi je programme un application avec JBuilder 2006, et j'utilise Oracle comme BDD, j'ai inclue les librairie additionnelles dans mon projet (comme ojdbc14.jar), quand je compile mob projet et que je l’exécute (avec JBuilder), tout marche à merveille, il récupère les données de la BDD oracle et tout. mais quand j’exécute avec le jar cette erreur est apparue :
http://imageshack.us/photo/my-images/813/erreurbdv2.jpg/
mais quand j'ai copié le jar file et je l'ai essayé sur le pc de mon collègue il marche très bien sans aucune erreur.
Est ce que vous avez une idée de quoi il s'agit ? en sachant que j'ai le JRE et le JDK sur mon pc.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Essayez de trouver l'option qui permet de renseigner cet attribut depuis JBuilder ou bien faites ça en ligne de commande. Vous devez y mettre l'ensemble des JARs (dont dms.jar, le pilote odbc et le pilote jdbc d'Oracle, etc...) qui permettent à l'application de se lancer correctement depuis votre IDE. Je pense que votre collègue a dû laisser traîner les dépendances en question directement dans le path ou directement dans la JVM ce qui est une très mauvaise pratique. Bon courage.
thebronx05
Messages postés5Date d'inscriptionjeudi 29 avril 2010StatutMembreDernière intervention19 février 2012 19 févr. 2012 à 14:13
Je crois aussi que mon collègue a du laisser traîner les dépendance dans la JVM, est ce que tu peux me dire comment le faire pour essayer de comprendre un peut Stp ?!
Il ne faut surtout pas faire ça, il a probablement mis les JARs dans jre/lib. Faire pareil ne vous avancera à rien. Vous devez simplement éditer le manifeste du JAR qui contient la classe principale (qui contient le point d'entrée du programme si je puis dire, la méthode main()) afin d'ajouter les autres JARs dans le classpath. Ces JARs, vous les connaissez déjà puisque vous avez dû les mettre quelque part dans la configuration de votre projet sous JBuilder.
thebronx05
Messages postés5Date d'inscriptionjeudi 29 avril 2010StatutMembreDernière intervention19 février 2012 19 févr. 2012 à 14:44
Oui je les connais et j'ai déjà essayé avec cette méthode, j'ai ajoutée les JARs files dans le manifest mais rien de nouveau,toujours la même erreur, sincèrement je comprend rien. C'est pour ça que je vous ai dis de m'expliquer ça pour que j'essaye juste pour voir (pas pour le faire définitivement) car c'est pas une bonne solution.
Soit les JARs ne sont pas à l'endroit attendu (celui mentionné dans le classpath) quand vous lancez l'application hors de JBuilder, soit il vous manque une dépendance parmi les JARs mentionnés, soit vous vous êtes planté en mentionnant les JARs dans le classpath.