Je cours un programme de Java dans l'invite de commande. J'ai placé le "C: \ j2sdk1.4.2_09 \ bin" dans la variable de système de PATH. Ensuite je peux compiler et exécuter le programme. Mais comme j'ai besoin de placer le connecteur mysql j'ai placé ceci dans "C: \ mysql-connecteur-java-5.1.10 \ mysql-connecteur-java-5.1.5-bin.jar " variable CLASSPATH mais maintenant je suis capable de compiler le programme que je lance le programme que je reçois" Exception dans le fil principal java. lang.NoClassFoundDefError ". Comment est-ce? Quelqu'un peut-il élaborer à ce sujet?confusion dans CLASSPATH et PATH
Répondre
Il est assez clair que vous demandez ici. Êtes-vous en train de dire que vous avez changé votre CLASSPATH et que maintenant la classe ne peut pas être trouvée?
Une chose à garder à l'esprit est que le CLASSPATH n'a pas, par défaut, inclut le répertoire courant. Vous devez l'ajouter (.
) si vous le voulez dans le CLASSPATH, .: par exemple
set CLASSPATH=.;C:\mysql-connector-java-5.1.10\mysql-connector-java-5.1.5-bin.jar
(Notez que je mets un .;
au début de cela.)
PATH et CLASSPATH sont sans aucun rapport. PATH indique à Windows où trouver les programmes exécutables (et inclut implicitement le répertoire en cours) lorsque vous les exécutez sans lui donner un chemin explicite. CLASSPATH indique au runtime Java où il peut charger des classes.
Toutes mes excuses si cela est complètement hors de la base; Si oui, pourriez-vous clarifier votre question?
D'accord avec la réponse ci-dessus, parce que je l'ai fait moi-même un million de fois. L'exception que vous obtenez est presque certainement liée à votre chemin de classe sans inclure le "." qui dit à Java d'inclure le répertoire courant dans sa mort pour les classes.
Il semble contre-intuitif que Java ne comprend pas automatiquement le répertoire en cours dans sa recherche, mais chaque fois que vous modifier manuellement le classpath, vous devez inclure cela.
La raison? Lorsque vous ne spécifiez pas un chemin de classe, un chemin par défaut est utilisé, qui inclut le "." Et qui est transparent pour vous.
Avant de répondre à votre question, juste Wann ans cette simple question: Pourquoi nous avons besoin PATH et CLASSPATH?
Réponse:
1) CHEMIN: Vous devez définir PATH pour compiler le code source Java, créez la classe Java fichiers et du système d'exploitation pour charger les classes lors de l'exécution.
2) CLASSPATH: Classpath en Java est le chemin vers le répertoire ou une liste de répertoire qui est utilisé par classloaders pour trouver et classe de charge en Java program.This est utilisé par machine virtuelle Java et non par système d'exploitation.
Modifier variables PATH (Windows système variable d'environnement) afin qu'il pointe vers bin dir qui contient tout exe par exemple: java, javac etc Dans mon cas, il est comme ceci: ; C: \ Program Files \ Java \ jre7 \ bin.
Classpath peut être spécifié en utilisant la variable d'environnement CLASSPATH qui est insensible à la casse, l'option de ligne de commande ou -cp -classpath ou attribut classe chemin dans le fichier manifest.mf dans le fichier JAR en Java.
Pour CLASSPATH en détail s'il vous plaît se référer ce lien « http://javarevisited.blogspot.in/2011/01/how-classpath-work-in-java.html »
- 1. Bash - $ PATH et $ {PATH}
- 2. Où sont classpath, path et pathelement documentés dans Ant version 1.8.0?
- 3. Eclipse classpath et NoClassDefFoundError
- 4. servlets et classpath
- 5. PATH et l'utilisation programmatique?
- 6. Classpath dans le manifeste
- 7. bin directory et PATH
- 8. eclipse Bibliothèque Classpath et Web-inf \ Lib
- 9. web.config et app.config confusion
- 10. confusion Wix et MSM
- 11. package Java et question classpath
- 12. Java Classpath Problèmes dans Ubuntu
- 13. Weblogic Ressources classpath et printemps
- 14. Whitespaces dans CLASSPATH
- 15. Apache ant manifeste class-path?
- 16. set tomcat path
- 17. Java Manifest.mf classpath issues
- 18. Hibernate Tools Eclipse Classpath
- 19. Confusion autour NSMutableArray et NSArray
- 20. Rhino, typeof et autoboxing confusion
- 21. MXML et AS3 confusion [simple]
- 22. Confusion avec .serialize() et .serializeElements()
- 23. ClassPath dans Ant pour tâche Javac
- 24. OOD et sujet-objet confusion
- 25. Confusion d'IU et d'accessibilité variable
- 26. Eclipse modèle d'exclusion .classpath
- 27. Confusion d'inclusion Yacc et Lex
- 28. ASP.NET, OpenID et enregistrement confusion
- 29. confusion sur setTimeout et clearTimeout
- 30. Threads et demandes de confusion
Peut-on ajouter chemin et CLASSPATH les deux? – Tanveer