Java.lang.ClassNotFoundException malgré L'utilisation de la variable D'environnement CLASSPATH
j'essaie de me connecter à la base de données mysql en utilisant java sur windows7. Malgré l'ajout de l'url complète du fichier jar JDBCDRIVER dans CLASSPATH, java.lang.ClassNotFoundException: com.mysql.jdbc.Pilote est levée. Est-ce que quelqu'un pourrait me dire ce que je manque ici? Cela fonctionne si j'ajoute le fichier jar dans la bibliothèque de projet mais je veux le faire par CLASSPATH lui-même. Mon chemin de classe ressemble à ça.- C:jython2.5.1javalibmysql-connector-java-5.1.12-bin.jar
je veux que ce soit clair que ce n'est pas le projet que je suis en train de travailler sur. J'utilise en fait Django avec Jython, ce qui nécessite le pilote JDBC pour accéder à la base de données. C'est la raison pour laquelle je dois le faire en utilisant CLASSPATH seulement.
9 réponses
la variable d'environnement CLASSPATH
est seulement utilisée par la commande java.exe
et même alors seulement lorsqu'elle est utilisée sans -cp
, -classpath
, -jar
arguments. C'est ignoré par des IDEs comme Eclipse, Netbeans et IDEA.
cette variable d'environnement est dans le monde réel également considéré comme une mauvaise pratique car il casse la portabilité. I. e. le programme X sera exécuté avec succès alors que le programme Y ne fonctionnera pas sans modifier le CLASSPATH
. Il est seulement " utile "pour Sun Oracle pour empêcher que les débutants se lassent de taper le même chemin de classe encore et encore dans les arguments -cp
ou -classpath
lors de la suite de tutoriels Java. Dans le monde réel, les fichiers batch / shell sont préférés où seulement la commande entière avec l'argument -cp
/ -classpath
est spécifiée.
dans votre cas, vous utilisez un IDE. Le classpath est là appelé le "chemin de construction". Dans les projets Java simples, il représente à la fois la classe compiletime et runtime Path. Vous pouvez le configurer dans les propriétés du projet. Vous pouvez ajouter un dossier complet, vous pouvez ajouter des fichiers JAR individuels/externes, vous pouvez lier des projets, etc. En faire usage. Oubliez d'utiliser la variable d'environnement CLASSPATH
. C'était une erreur de Sun Oracle. Ils ont pensé à convaincre les débutants, mais ça a fini par être seulement plus déroutant pour les débutants car ils interprètent incorrectement cette variable d'environnement comme le chemin de classe .
voir aussi:
ce qui m'a finalement aidé était de copier le mysql-connector-java-5.1.15-bin.bocal \jre\lib et \jre\lib\ext fois(! même si j'ai fait toutes les offres de classpathing circus Java:), L'environnement était pur mais notepad/commandline.
ce qui a fonctionné avec moi en utilisant Netbeans était: Exécutez > Définir La Configuration Du Projet > Personnaliser. Sous Bibliothèques > Ajouter Bibliothèque. J'ai ajouté le pilote MySQL JDBC (je suppose qu'il est apparu dans la liste parce que j'ai copié le fichier jar dans le dossier jre\lib\ext. Et ça a fonctionné parfaitement.
j'ai essayé de mettre classpath mais cela n'a pas fonctionné. J'utilise Netbeans 7.0
il suffit de faire un clic droit sur votre projet dans" Netbeans "sélectionnez Propriétés puis cliquez sur" bibliothèques "puis cliquez sur" Ajouter bibliothèque..."bouton puis sélectionnez " MySQL pilote JDBC" et cliquez sur "Ajouter bibliothèque" bouton puis sur " OK "bouton
j'ai aussi eu ce problème avant, mais après j'ai mis/ajouté mysql-connector-java-5.1.34-bin.jar (Téléchargez-le de ici ) dans le dossier apache-tomcat-8.0.15\lib , et puis a couru mon projet, il a vraiment fonctionné.
Note : même après avoir ajouté le fichier jar, l'erreur persiste, puis redémarrez le serveur Tomcat et relancez votre projet.
- Open Netbeans IDE
- faites un clic droit sur votre projet.
- Sélectionnez Propriétés.
- sur le côté gauche cliquez bibliothèques.
- sous l'onglet "compiler" - cliquez sur le bouton Ajouter Jar/Folder.
- sélectionnez téléchargé " mysql-connector-java-5.1.25-bin.jar fichier" ( Télécharger Connector/J de l'dev.mysql.com)
- cliquez OK
- Exécuter À Nouveau... Ses travaux.
Si vous utilisez maven, ajouter la dépendance à pom.xml
devrait résoudre le problème.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
dans Netbeans IDE il suffit de vérifier les propriétés du projet sur lequel vous travaillez,dans la fenêtre des propriétés aller à la balise "bibliothèque", dans la boîte diolog il suffit d'ajouter votre mysql-connector-java- * *.fichier jar.
j'ai eu ce même problème à Netbeans. Parce que j'utilisais un pool de connexion tomcat tel que défini dans le contexte.xml j'avais besoin d'ajouter le jar jdbc à la fois au Projet (Propriétés->bibliothèques) et au dossier lib/ dans mon serveur Tomcat pour qu'il puisse être vu au démarrage.