Probleme de chargement de driver MySQL

cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 2 janv. 2006 à 19:29
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 9 janv. 2006 à 15:45
Bonsoir,



Je sais qu'il y a eu beaucoup de messages à ce sujet posté, mais je n'ai pas saisi certaines choses.



J'ai une application qui doit se connecter à une base de données MySQL
: tout est en local. Mais je n'arrive pas à charger le driver.

Ce dernier est mis dans le même répertoire ou se trouve le répertoire
de mon application (on m'a dit de faire comme ça). Mais j'ai lu sur le
forum, qu'il faut le mettre dans le classPath (je crois) ou dans le
répertoire java de windows.



En sachant qu'il ne faut pas qu'il soit dans un répertoire de windows
(vu que l'application ne tourne jamais sur la même machine), où doit-je
mettre ce driver pour que mon application fonctionne s'il-vous-plait??



Merci de votre aide

15 réponses

gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
3 janv. 2006 à 11:12
Dans le jar de ton application. C'est ça ou avoir le Driver MySQL dans le classpath de chaque machine.

gmi19oj19
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
3 janv. 2006 à 19:32
Hum, je veux bien, mais qu'est-ce-que le jar de mon application? C'est moi qui le crée? C'est une sorte d'éxécutable non? Par contre si jamais je dois faire ce point jar, vu que ce sera peut-être un fichier, comment je vais faire pour y mettre mon driver??

Désolée, mais de ce côté, j'suis vraiment larguée!!

Merci pour ton aide ou pour toute autre aide :)
0
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
3 janv. 2006 à 20:33
Fallait pas cacher que t'étais une fille, t'aurais vu plus de réponse arriver :nerd:

Donc, un jar est une archive dans laquelle tu places tes classes ainsi que les fichiers anexes et eventuellement des api supplementaires, comme un Driver JDBC.

Ton jar devient executable si tu specifies ce que l'on appelle un fichier manifest, qui a la forme suivante :

Manifest-Version: 1.0
Main-Class: package.classAvecFonctionMain

avec une troisième ligne vide.

ensuite tu crées ton archive via la ligne de commande ou ton IDE (Eclipse, JBuilder ou autre, ça depend ce que tu utilises).

En ligne de commande, ça donne ça :

jar -cmf fichierManifest nomDeTonArchive.jar liste_des_fichiers_à_mettre_dans_le_jar.

En esperant avoir été suffisement clair

gmi19oj19
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
4 janv. 2006 à 09:35
Mais j'ai rien caché du tout moi!!



Merci pour ton aide, mais j'ai pas trop compris le fichier manifest.
Moi mon application a déjà un main mais dans une classe du programme
(la classe qui crée la fenêtre principale). Faut que je déplace ce main
dans un fichier qui s'appelle manifest c'est ça, ou je suis carrément à
côté de la plaque??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
4 janv. 2006 à 10:15
Non non, garde ton application telle quelle. Le fichier manifest permet àa la JVM de savoir dans quell classe se situe la fonction main(), rien de plus.

gmi19oj19
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
4 janv. 2006 à 10:22
Donc il faut quans même que j'en fasse un pour dire que la classe X contient la classe Main, c'est ça (j'dois être longue à la détente mais j'avais jamais vu ça!)?? Et si j'ai raison, dedans je met quoi exactement?

Main-Class: package.maFenetre ???

Et euh, le manifest c'est quel type d'extension??

Excuse moi de t'embêter autant!
0
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
4 janv. 2006 à 10:29
Le fichier manifest n'a pas besoin d'une extension particulière. Tant qeu tuy mets pas un format executable, a priori c'est bon (moi je mets pas du tout d'extention en général^^)

Par conte, j'te deconseille de mettre la classe Main en classe interne à une autre, j'suis même pas sur que ça marche..

Tu mets donc ça

Manifest-Version: 1.0
Main-Class: package.classAvecFonctionMain

Ou package represente le nom complet du package ou se trouve ta classe.

gmi19oj19
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
4 janv. 2006 à 11:05
Ok, j'ai fait le fichier, il faut le mettr où?dans le même dossier que le dossier ou j'ai mes classes ou dans le dossier parent à ce dossier (j'suis claire??)

Par contre en passant par Eclipse, où se trouve l'action pour faire un .jar?
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
4 janv. 2006 à 11:42
Avec eclipse, il suffit de compiler l'application (ou construire) et il crée un jar avec le fichier manifest automatiquement. Pour le driver MySQL, regarde ds Eclipse si il y a pas une option "Ajouter une librairie au projet", et comme ça tu rajoute le fichier .jar contenant le driver MySQL.

Si tu compile directement en ligne de commande tu dois mettre
javac -classpath emplacementdudriver/mysql-connector-xxxxxxx.jar

Je pense que le Driver JDBC est téléchargeable sur le site de MySQL si tu ne l'a pas.
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
4 janv. 2006 à 11:59
Ok, bon ben j'dois être trop nulle, c'est pas possible!!

On reprend : j'ai refais un projet, j'y ai remis mes classes (comme ça c'est tout propre), j'ai cliqué sur le nom du projoet (dans éclipe), et j'ai fait une action équivalente à ajouter un .jar (et j'ai sélectionné mon driver). Bon bien sûr ça marche toujours pas (enfin j'ai plus d'erreur de driver non chargé mais bon). Maintenant j'essaye de compiler cette application (qui m'énerve là!), et ça me fait jamais de .jar . Bon c'est quoi le problème cette fois??

Désolée de comprendre tout de travers!! Et merci encore pour votre patience!
0
cs_gattous Messages postés 100 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 7 octobre 2007
4 janv. 2006 à 17:30
slt, bon la solution que je vais te proposer est un peu simple. Supposons que ton projet est dans le dossier C:\monprojet et que tes classes (je veux dire les fichiers compilés, les .class) s'y trouvent. tu crées un dossier que tu appelles "classes" et t'y mets ces fichiers (attention il faut respecter les structures de package, par exple t'as la classe monpaquet.maclasse ==> tu auras le dossier classes dans lequel il y a le dossier monpaquet dans lequel il ya le fichier maclasse.class). Apres avoir terminé d'arranger tes fichiers , tu crées un nouveau dossier que tu appelles "META-INF", dans ce dossier, tu crees un nouveau fichier que tu nommes "Manifest.MF", tu ouvres avec bloc notes, et tu tapes les lignes qu'on t'a déja indiqués auparavant. tu peux décompresser le contenu du driver (le fichier .jar) et le mettre dans classes (je parle du contenu décompressé). Apres, tu sélectionnes les deux dossier et tu les mets dans une archive zip ( a l'aide de winzip ou winrar), l'archive doit etre au format zip^. et enfin, tu changes l'extension de .zip en .jar.
J'espere que ça va t'aider.
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
4 janv. 2006 à 18:19
J'ai fait ce que tu m'a dis, mais le .jar ne marche pas, quand j'essaye de le lancer, il me met l'erreur suivante :"Invalid or corrupt file jarfile ..."
0
cs_gattous Messages postés 100 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 7 octobre 2007
5 janv. 2006 à 12:53
je crois que j'ai fait une erreur, car je t'ai dit de créer un dossier "classes" alors que t'as pas besoin d'un tel dossier. Essayons de reprendre, nous sommes mntnt ds un dossier C:\mondossier, tu places ds ce dossier tes .class (suivant la structure que je t'ai déja indiquée) tu crées apres le dossier "META-INF" et dedans tu crées le fichier MANIFEST.MF, tu sélectionnes le tout, tu crées une archive zip, et tu remplaces l'extension. Essaie et dis moi
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
9 janv. 2006 à 14:34
Bon c'est simple ça m'énerve tellement que j'ai laissé tomber le .jar pour me concentrer sur mon premier problème qui était la base de données!!

Quans je lance le programme, en débuggage j'ai "No suitable driver". Alors quelqu'un a une idée cette fois svp?
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
9 janv. 2006 à 15:45
Bon ben laissez tomber finalement. Je suis passée sous Netbeans, et j'ai refais le projet, cette fois ça marche ...

Merci quand même pour votre aide :)
0
Rejoignez-nous