2011-05-15 6 views
1

J'essaie de créer une application en java qui se connecte à une base de données mysql. Pour cela, j'ai téléchargé le connecteur mysql-connector-java-5.1.16-bin.jar.Le fichier Jar ne trouve pas le pilote com.mysql.jdbc

J'ai également ajouté le chemin du fichier jar ci-dessus dans la variable d'environnement CLASSPATH.

J'ai créé l'application et exécuté les fichiers java et il s'est exécuté correctement.

Ensuite, je crée un fichier jar de l'application et a essayé de l'exécuter alors je suis l'erreur suivante

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.Class.forName0(Native Method) 
    at java.lang.Class.forName(Unknown Source) 
    at CanteenCounter.refresh(CanteenCounter.java:73) 
    at CanteenCounter$1.actionPerformed(CanteenCounter.java:30) 
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
    at java.awt.Component.processMouseEvent(Unknown Source) 
    at javax.swing.JComponent.processMouseEvent(Unknown Source) 
    at java.awt.Component.processEvent(Unknown Source) 
    at java.awt.Container.processEvent(Unknown Source) 
    at java.awt.Component.dispatchEventImpl(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Window.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
    at java.awt.EventQueue.access$000(Unknown Source) 
    at java.awt.EventQueue$1.run(Unknown Source) 
    at java.awt.EventQueue$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue$2.run(Unknown Source) 
    at java.awt.EventQueue$2.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.run(Unknown Source) 

Exception: com.mysql.jdbc.Driver

Je pense que le fichier jar est pas en mesure de trouver le com.mysql.jdbc.Driver

S'il vous plaît aider !!!

Répondre

1

Si votre fichier JAR est un fichier exécutable JAR que vous exécutez en utilisant l'option -jar, ou en double-cliquant dessus, la variable d'environnement CLASSPATH ainsi que l'option -cp ou -classpath seront ignorés. Pour les fichiers JAR exécutables, vous devez spécifier le chemin de classe dans le fichier manifeste du fichier JAR. Voir cette page des tutoriels Java d'Oracle pour plus de détails sur la spécification du chemin de classe dans le fichier manifeste: Working with Manifest Files.

2

En règle générale, vous ne souhaitez pas utiliser la variable CLASSPATH, mais plutôt l'indicateur -cp pour spécifier l'emplacement de la bibliothèque.

java -cp /path/to/jar:/path/to/other/jar Main 
+0

mais que faire si je veux créer un fichier jar exécutable. Je veux l'ouvrir avec un double clic – Jonah

+1

Question différente vraiment, mais une bonne réponse peut être trouvée. ici: http://stackoverflow.com/questions/2018257/how-to-combine-library-with-my-jar ici aussi http://www.ibm.com/developerworks/library/j-jar/index.html – zellio

+0

Merci Mimisbrunnr le lien IBM a été très utile – Jonah

Questions connexes