Je reçois le NoClassDefError lorsque j'essaie d'exécuter mon programme à partir de la ligne de commande. Cela fonctionne bien dans Netbeans, et javac compile correctement.Java NoClassDefFoundError dans la ligne de commande
J'ai une classe appelée DistributedSystem qui jusqu'ici est seulement supposée imprimer "bonjour". Le répertoire est src/distributedsystem/qui contient DistributedSystem.java et DistributedSystem.class après la compilation.
Si je suis à l'intérieur src/distributedsystem/et exécuter
java DistributedSystem
je reçois
Exception in thread "main" java.lang.NoClassDefFoundError: DistributedSystem (wrong name: distributedsystem/DistributedSystem)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Je reçois aussi exactement la même erreur si je suis à l'intérieur src/distributedsystem/et exécuter
java -cp . DistributedSystem
qui est ce que je pensais que régler le problème. J'ai également essayé de m'assurer que classpath n'est pas défini ailleurs, même si -cp devrait l'écraser. Quelqu'un at-il des idées sur ce qui pourrait être faux?
Pouvez-vous poster le code de DistributedSystem.java s'il vous plaît? – rileyberton
duplication possible de [Encore une fois erreur "nom incorrect" lors de l'exécution du programme Java] (http://stackoverflow.com/questions/4955017/again-wrong-name-error-when-executing-java-program) – Mat
vous devez utiliser 'java distributedsystem.DistributedSystem' du dossier src en supposant que le fichier de classe est dans' src/DistributedSystem' –