java.lang.ClassNotFoundException en dépit de l'aide de la variable d'environnement CLASSPATH
Je suis en train d'essayer de se connecter à des bases de données mysql à l'aide de java sur windows7. En dépit de l'ajout de l'url complète de jdbcdriver fichier jar dans le CLASSPATH, java.lang.ClassNotFoundException: com.mysql.jdbc.Pilote
est levée. Quelqu'un pourrait-il me dire ce que je suis en manque ici? Il fonctionne si j'ajoute le fichier jar dans la bibliothèque de projets, mais je veux le faire par chemin de classe elle-même.
Mon classpath ressemble à ceci-
C:\jython2.5.1\javalib\mysql-connector-java-5.1.12-bin.jar
Je tiens à préciser que ce n'est pas le projet que je suis en train de travailler sur. Je suis en fait à l'aide de Django avec Jython, qui exige que le pilote JDBC pour accéder à la base de données. C'est la raison pour laquelle j'ai à faire à l'aide de CLASSPATH seulement.
- avec quoi êtes-vous la construction de votre projet?
- ...et si vous faites cela à partir d'une invite de commande, vous pouvez également afficher l'exacte ligne de commande que vous utilisez?
- je suis à l'aide de netbeans ide. En fait j'ai été faire cette erreur lors de l'utilisation de django avec jython, alors j'ai pensé que je devrais essayer de se connecter à la base mysql à partir de la plaine de java.
Vous devez vous connecter pour publier un commentaire.
La
CLASSPATH
variable d'environnement est seulement utilisé par lejava.exe
de commande et même alors, seulement lorsqu'il est utilisé sans tout de la-cp
,-classpath
,-jar
arguments. Il est ignoré par les Ide comme Eclipse, Netbeans et à l'IDÉE.Cette variable d'environnement est dans le monde réel aussi considéré comme une mauvaise pratique, puisqu'elle brise la portabilité. I. e. le programme X exécuté avec succès alors que le programme Y ne fonctionne pas sans altérer la
CLASSPATH
. C'est seulement "utile" pourSoleilOracle pour éviter que les démarreurs à obtenir fatigué de taper la même classpath encore et encore dans le-cp
ou-classpath
arguments lors de Java suivant des tutoriels. Dans le monde réel, lot/shell fichiers sont privilégiées où la totalité de la commande avec-cp
/-classpath
argument est spécifié.Dans votre cas, vous utilisez un IDE. La classe est appelée le "Build Path". Dans la plaine les projets Java, il représente les deux compile-time et d'exécution classpath. Vous pouvez le configurer dans les propriétés du projet. Vous pouvez ajouter un dossier complet, vous pouvez ajouter une personne/externe des fichiers JAR, vous pouvez lier des projets, et cætera. En faire usage. Oubliez l'utilisation de la
CLASSPATH
variable d'environnement. C'était une erreur parSoleilOracle. Ils ont pensé à les convaincre de commencer, mais il a fini par être seulement plus déroutant pour les débutants comme ils ont mal interpréter cette variable d'environnement comme la classpath.Voir aussi:
sys.path
variable d'environnement (qui est d'ailleurs similaire àCLASSPATH
et donc aussi les portables), ou l'argument de la commande-Dpython.path
.Ce qui finalement m'a aidé a été de copier le mysql-connector-java-5.1.15-bin.jar pour \jre\lib et \jre\lib\ext fois(!) même si j'ai fait tous les classpathing cirque Java offre 🙂 Environnement était un pur bloc-notes/ligne de commande si.
Ce qui a fonctionné avec moi à l'aide de Netbeans a été:
Run > le Projet de Configuration > Personnaliser.
En vertu de Bibliothèques > Ajouter à la Bibliothèque. Ajouté le Pilote JDBC MySQL (je suppose qu'il est apparu dans la liste parce que j'ai copié le fichier jar de la jre\lib\ext dossier.
Et cela a fonctionné parfaitement.
J'ai essayé paramètre classpath mais cela ne fonctionne pas. Je suis à l'aide de 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 à la bibliothèque..." bouton, puis sélectionnez "Pilote JDBC MySQL" et cliquez sur "add library" bouton puis sur le bouton "OK"
J'ai aussi eu ce problème avant, mais après j'ai mis/ajoutée mysql-connector-java-5.1.34-bin.jar (Télécharger à partir de ici) dans apache-tomcat-8.0.15\lib dossier, et puis a couru mon projet, il a vraiment fait un travail.
Remarque : Même après avoir ajouté le fichier jar de l'erreur persiste, redémarrez le serveur Tomcat et exécutez à nouveau le projet de nouveau.
Si vous utilisez maven, ajouter la dépendance à
pom.xml
devrait résoudre le problème.Dans Netbeans IDE juste de Vérifier les propriétés de Projet sur lequel vous travaillez,dans la fenêtre des propriétés d'aller à la "bibliothèque" de la balise, en diolog boîte suffit d'ajouter votre mysql-connector-java-**.fichier jar.
J'ai eu ce même problème dans Netbeans. Parce que j'ai été en utilisant un pool de connexion de tomcat tel que défini dans context.xml j'ai besoin d'ajouter jdbc pot à la fois le projet (Propriétés->Bibliothèques) et à l'lib/dossier au sein de mon serveur Tomcat de sorte qu'il pourrait être vu sur démarrage.