Pourquoi Exception dans le thread “main” java.lang.NoClassDefFoundError:?
Je lance mon logiciel via Eclipse. Hier tout allait bien. J'ai fait pas de modifier le code, mais aujourd'hui, quand je suis en train de l'exécuter à nouveau je reçois des messages d'erreur suivants:
Exception in thread "main" java.lang.NoClassDefFoundError: coloredtrails/CTListener
at test.DemoPlayer1.createAndShowGUI(DemoPlayer1.java:23)
at test.DemoPlayer1.main(DemoPlayer1.java:39)
Caused by: java.lang.ClassNotFoundException: coloredtrails.CTListener
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)
... 2 more
Pourquoi il ne voit pas la classe? Quelle pourrait être la raison de cela? Comment puis-je résoudre le problème?
avez-vous essayé de nettoyer-->construire votre projet?
De la joie, merci pour le conseille! Vous "m'a sauvé la vie"! 🙂 Maintenant, il fonctionne. C'était tellement ennuyeux qu'il a arrêté de travailler à proximité de la date limite. Maintenant ça fonctionne!
C'est un bon exemple, pourquoi ne pas travailler avec eclipse...
Souvent, cela est dû à Eclipse connu-problème de comportement, pas la JVM elle-même. 1) assurez-vous d'utiliser le nom de package complet (x.y.z.Maclasse) de votre objet sous 'Ressources' dans Eclipse Run/Debug Configuration 2) Essayer Eclipse "créer Toutes les' au lieu de 'Projet de construction d''. 3) ensuite Seulement commencer à vérifier votre classpath, annuaires etc.
De la joie, merci pour le conseille! Vous "m'a sauvé la vie"! 🙂 Maintenant, il fonctionne. C'était tellement ennuyeux qu'il a arrêté de travailler à proximité de la date limite. Maintenant ça fonctionne!
C'est un bon exemple, pourquoi ne pas travailler avec eclipse...
Souvent, cela est dû à Eclipse connu-problème de comportement, pas la JVM elle-même. 1) assurez-vous d'utiliser le nom de package complet (x.y.z.Maclasse) de votre objet sous 'Ressources' dans Eclipse Run/Debug Configuration 2) Essayer Eclipse "créer Toutes les' au lieu de 'Projet de construction d''. 3) ensuite Seulement commencer à vérifier votre classpath, annuaires etc.
OriginalL'auteur Roman | 2011-05-25
Vous devez vous connecter pour publier un commentaire.
Un
NoClassDefFoundError
(presque) toujours signifie que votre classpath est faux. Assurez-vous que votre classpath comprend le répertoire de base de l'coloredtrails
paquet. (Bien sûr, assurez-vous également que le fichiercoloredtrails\CTListener.class
existe réellement).Lors de l'exécution de la ligne de commande:
Vous pouvez définir le classpath par la définition de la
CLASSPATH
variable d'environnement, ou en renseignant le-cp
ou-classpath
option sur la ligne de commande lorsque vous exécutez votre programme. Par exemple:modifier - en Regardant la trace de la pile et de voir
URLClassLoader
là me fait penser que vous essayez d'exécuter une applet Java. Pour savoir comment déployer correctement les applets, de sorte que toutes les classes de l'applet doit peut être trouvée, voir ce tutoriel: Le déploiement d'une Applet.OriginalL'auteur Jesper
Parfois, mon Eclipse (Indigo sur MacOSX) est-ce que, expecially si je fais des modifications (suppression de fichiers, les déplacer) à la structure du projet sur la filsystem directement.
Fondamentalement, eclipse ne trouve pas le dossier source plus, donc il ne veut pas compiler le code source, mais essaie de l'exécuter, de toute façon (et tout cela sans avertissement ou une référence à ce problème).
De le réparer, supprimer le dossier source du chemin de génération (=clic droit sur le répertoire src dans le cadre du projet dans l'explorateur de packages, puis choisissez "Build-parcours->Supprimer de Construire-chemin". Ajoutez-le ensuite à nouveau (=clic droit sur le dossier dans le cadre du projet dans le package explorer "et choisissez" Ajouter à l'accumulation de chemin d'accès"). Cela rend le dossier src "visible" pour le compilateur de nouveau et résout le problème.
J'ai eu le même problème avec les Mavericks. Seulement je pouvais le résoudre par la la suppression de l'espace de travail.
Aussi essayé de l'ajouter à nouveau le dossier src, mais n'a pas fonctionné. La création d'un nouvel espace de travail a fait le tour.
OriginalL'auteur Pezza