[JAVA] problemes avec JDIC
Ogtraba
Messages postés
8
Statut
Membre
-
Zeboudja Messages postés 16 Statut Membre -
Zeboudja Messages postés 16 Statut Membre -
bonjour,
j-ai un probleme avec JDIC. Je l'utilise pour ouvrir des .doc. Sur mon ordinateur ça marche trés bien mais dés que je passe sur une autre machine ça ne marche pas.
j'ai l'erreur
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no jdic in java.library.path
alors que j'ai incorporé jdic.dll et les .jar necessaire dans mon jar éxécutable.
si je recommance une deuxieme fois j'ai une nouvelle erreur
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not
initialize class org.jdesktop.jdic.desktop.internal.impl.WinAPIWrapper
quelqu'un peut il m'expliquer ce qu'il ce passe. Pourquoi ça marche sur mon ordinateur et pas sur un autre
j-ai un probleme avec JDIC. Je l'utilise pour ouvrir des .doc. Sur mon ordinateur ça marche trés bien mais dés que je passe sur une autre machine ça ne marche pas.
j'ai l'erreur
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no jdic in java.library.path
alors que j'ai incorporé jdic.dll et les .jar necessaire dans mon jar éxécutable.
si je recommance une deuxieme fois j'ai une nouvelle erreur
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not
initialize class org.jdesktop.jdic.desktop.internal.impl.WinAPIWrapper
quelqu'un peut il m'expliquer ce qu'il ce passe. Pourquoi ça marche sur mon ordinateur et pas sur un autre
A voir également:
- [JAVA] problemes avec JDIC
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
13 réponses
Peut être parce que par défault pour ces librairies là, il faut que tu renseigne dans le PATH de la machine le répertoire ou se trouve tes librairies. Il ne suffit pas de les inclures dans le jar, il faut spécifier à la machine où chercher.
Tu utilise quoi pour développer en JAVA, quel IDE ?
Si tu utilise éclipse, etc.. tu as donc du spécifier quelque part dans les propriétés de ton projet les librairies utiles au programme.
Par défaut, cet IDE ajoute ces libraires dans le PATH lorsqu'il lance les appli, d'ou le fait que cela fonctionne sur ton PC.
Si tu ne lance par ton programme via un IDE, cela veut dire que le rép ou se situe ta librairie doit certainement être inclu dans le PATH du PC.
Pour voir ca tu vas dans :
- clique droit sur "Démarrer" -> explorer
- clique droit sur "Poste de travail" -> propriété
- Onglet 'Avancé', bouton 'Variable environement'
Là tu as une variable d'environement nommée 'path' et une variable systeme nommée 'CLASSPATH'.
Tu ajoute dans la variable system le chemin d'acces à ton répertoire ou se situe ta librairie et ca devrait fonctionner (peut etre redémarrage du pc ?).
Ca c'est la solution de secours on va dire.
Si ca marche cela veut dire que ton erreur vient bien de là, et alors il te faudra faire ce qu'on appelle un MANIFEST qui sert à la création de jar éxécutable.
Il sert notamment à ajoute automatiquement un répertoire de sources de librairie au CLASSPATH du PC sur lequel s'éxécute le jar afin de trouver les librairies utilisées.
Plus d'infos, regarde ici : https://java.developpez.com/faq/java?page=Execution#creationJar
Bon courage.
Si tu utilise éclipse, etc.. tu as donc du spécifier quelque part dans les propriétés de ton projet les librairies utiles au programme.
Par défaut, cet IDE ajoute ces libraires dans le PATH lorsqu'il lance les appli, d'ou le fait que cela fonctionne sur ton PC.
Si tu ne lance par ton programme via un IDE, cela veut dire que le rép ou se situe ta librairie doit certainement être inclu dans le PATH du PC.
Pour voir ca tu vas dans :
- clique droit sur "Démarrer" -> explorer
- clique droit sur "Poste de travail" -> propriété
- Onglet 'Avancé', bouton 'Variable environement'
Là tu as une variable d'environement nommée 'path' et une variable systeme nommée 'CLASSPATH'.
Tu ajoute dans la variable system le chemin d'acces à ton répertoire ou se situe ta librairie et ca devrait fonctionner (peut etre redémarrage du pc ?).
Ca c'est la solution de secours on va dire.
Si ca marche cela veut dire que ton erreur vient bien de là, et alors il te faudra faire ce qu'on appelle un MANIFEST qui sert à la création de jar éxécutable.
Il sert notamment à ajoute automatiquement un répertoire de sources de librairie au CLASSPATH du PC sur lequel s'éxécute le jar afin de trouver les librairies utilisées.
Plus d'infos, regarde ici : https://java.developpez.com/faq/java?page=Execution#creationJar
Bon courage.
Alors sur mon PC je le lance avec et sans Eclipse ça marche trés bien. Par contre il n'y a pas de variable ClassPath sur les ordinateurs sur lesquels je veut mettre mon application.
Donc impossible de comparer avec mon ordinateur.
Donc impossible de comparer avec mon ordinateur.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui mais je ne suis pas sur qu'il inclu la clause cu CLASSPATH par défaut. A vérifier.
Si c'est le cas alors je ne vois pas trop d'ou cela peut venir.
Si c'est le cas alors je ne vois pas trop d'ou cela peut venir.
Dans mon jar il y a un fichier .classpath et dans le manifest il n'y a pas de reference à ce fichier. Ce que je ne comprend pas, par rapport a ta remarque précédente: Pourquoi ça marche sur mon PC. Ce fichier .classpath est utilisé par l'application ou l'ordinateur??
le fichier .classpath est à la racine du programme et le Manifest dans un dossier META-INF aussi à la racine du programme. Je rajoute quoi dans le manifest?
le fichier .classpath est à la racine du programme et le Manifest dans un dossier META-INF aussi à la racine du programme. Je rajoute quoi dans le manifest?
Le .classpath est utilisé par ton IDE normalement, et le MANIFEST lorsque tu execute le jar directement.
Par défaut, lorsqu'une application ne trouve pas une bibliothèque requise, elle va regarder si elle ne la trouve pas dans les différents répertoire spécifier dans la variable d'environnement CLASSPATH de l'ordinateur.
Ton fichier MANIFEST doit (comme dit dans le lien que je t'ai donné) avoir cette ligne :
Class-Path: path1\archive1.jar
Par exemple, mettons que dans ton projet (ton appli) tu ai un répertoire 'lib' à la racine du projet et dans lequel tu as mis tes librairies utiles.
La ligne dans le MANIFEST deviendra :
Class-Path: lib\maLibrairie.jar
heu dans mon jar éxécutable il n'y a pas de .jar. J'ai utilisé le plugin Fatjar pour créer mon archive. Ou c'est que j'ai rien compris
pour être plus clair Fatjar copie tout ce qu'il y a dans les .jar externe, dans la .jar que je créer. Donc toutes les bibliotèques sont intégrer dans mon programme.
Ce que tu me dis c'est que ton FatJar compile les jar des bibliothèque avec ton jar d'application donc ?
Si du unjar ton .jar executable, tu n'as donc aucun sous répertoire avec tes bibliothèques ?
Ben dans ce cas... je ne sais pas trop et je n'ai plus le temps de me pencher la dessus non plus ^^
Je te souhaite bien du courage, et si tu trouve la solution met là car je vais devoir faire la même chose dans peu de temps (mais je n'en suis pas encore là)
Si du unjar ton .jar executable, tu n'as donc aucun sous répertoire avec tes bibliothèques ?
Ben dans ce cas... je ne sais pas trop et je n'ai plus le temps de me pencher la dessus non plus ^^
Je te souhaite bien du courage, et si tu trouve la solution met là car je vais devoir faire la même chose dans peu de temps (mais je n'en suis pas encore là)
va sur ce lien ça va changer ta façon de créer des jar ça simplifie la vie. Et peut etre que tu trouvera d'ou vient mon probleme avant moi.
http://fjep.sourceforge.net/
http://fjep.sourceforge.net/
bonjour je suis un debutant et je veisn d'avoir une apllication java/mysql et le problem ke ca marchait ds un autre poste et kd je voulais la marcher sur mon pc ca marche pas il maffiche les erreurs suivantes meme jai instale easyphp et il est demare :
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at MysqlAccess.startConnection(MysqlAccess.java:69)
at WinLogin.testLog(WinLogin.java:120)
at MTA.<init>(MTA.java:149)
at MTA.main(MTA.java:160)
Exception in thread "main" java.lang.NullPointerException
at MysqlAccess.executeQuery(MysqlAccess.java:113)
at WinLogin.testLog(WinLogin.java:124)
at MTA.<init>(MTA.java:149)
at MTA.main(MTA.java:160)
merci bcp d'avance
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at MysqlAccess.startConnection(MysqlAccess.java:69)
at WinLogin.testLog(WinLogin.java:120)
at MTA.<init>(MTA.java:149)
at MTA.main(MTA.java:160)
Exception in thread "main" java.lang.NullPointerException
at MysqlAccess.executeQuery(MysqlAccess.java:113)
at WinLogin.testLog(WinLogin.java:124)
at MTA.<init>(MTA.java:149)
at MTA.main(MTA.java:160)
merci bcp d'avance