ClassNotFoundException: junit.cadre.Cas de test ne peut pas être trouvé par org.eclipse.xtext.junit_2.4.3.v201309030823
Je suis intrigué par cette erreur:
java.lang.NoClassDefFoundError: junit/framework/TestCase
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:638)
...
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62)
at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23)
...
Caused by: java.lang.ClassNotFoundException: junit.framework.TestCase cannot be found by org.eclipse.xtext.junit_2.4.3.v201309030823
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 78 more
L'exception se produit lorsque j'exécute les tests pour mon Xtext LIS que le plugin tests (c'est à dire quand une nouvelle plate-forme Eclipse est lancé en interne). Ce qui se passe avant tout mon code est exécuté.
Quand je regarde le plugin dépendances, je peux voir que org.junit_4.11.0.v201303080030.jar
est sur le chemin de la classe et je vois aussi /.../workspace/.metadata/.plugins/org.eclipse.pde.core/.external_libraries/org.junit_4.11.0.v201303080030/junit.jar
Donc OSGis devrait certainement être en mesure de résoudre cette dépendance.
Ne Xtext 2.4.3 travail avec JUnit 4.11 ou dois-je downgrade ma Eclipse installer à JUnit 4.10?
J'ai téléchargé Eclipse Kelper JEE SR1 (4.3.1). Ma plate-forme cible a été construit à l'aide de la Xtext 2.4.3 archivée à jour du site et MWE2 2.4.1.
OriginalL'auteur Aaron Digulla | 2014-01-16
Vous devez vous connecter pour publier un commentaire.
Deux points
Première
Vérifier votre
Project Properties->Java Build Path->Libraries (tab)
. JUnit doit y être bien que ce sera normalement apparaître dans la construction.Vérifier votre Projet
Run Configurations->JUnit->Classpath (tab
). JUnit devrait être soumise à des Entrées Utilisateur pour votre projet.Deuxième
Vérifier que vous avez les plugins ci-dessous
[MODIFIER] Cela m'a fait sur la bonne voie. Pour corriger l'erreur assurez-vous d'avoir org.junit 3.8 dans le la plate-forme cible!
Explication: L'erreur ci-dessus signifie que l'Éclipse elle-même ne pouvait pas commencer. Il semble que la JUnit coureur a une dépendance sur JUnit 3.8. Il ne sera pas utilisé, mais, sans elle, l'ensemble de la plate-forme ne peut pas être initialisé.
Vous pouvez voir si vous avez le même problème en regardant la trace de la pile: contient-il
RemotePluginTestRunner.main
?De corriger l'erreur, ajouter le org.junit 3.8 bundle pour votre plate-forme cible.
workspace/.metadata/.plugins/org.eclipse.pde.core/.external_libraries/org.junit_4.11.0.v201303080030/junit.jar
. Je pense que le dernier est ajouté mon JUnit Plugin de Test de lanceur.Plugins Tests n'ont pas un chemin de classe dans l'onglet
Run Configurations
. Mais j'ai vérifié l'onglet Plugins. Là, je n'ai vuorg.eclipse.jdt.junit.runtime_3.4.400.v20130514-0733.jar
de ma plate-forme cible. J'ai ajouté manuellementorg.eclipse.jdt.junit4.runtime_1.1.300.v20130514-0733.jar
mais l'erreur est toujours la même 🙁Vous aviez raison. Malgré le fait que
org.eclipse.xtext.junit4
importationsorg.junit 4.5.0
,org.eclipse.xtext.junit
(notez le manque de "4" à la fin) semble avoir une dépendance à JUnit 3.8. Après l'ajout de la vieux, obsolète JUnit bundle, le plugin début des épreuves.OriginalL'auteur A Paul
Créer une classe avec code ci-dessous dans votre projet-
Sur l'enregistrement si eclipse montre des erreurs du compilateur. Appuyez sur Ctrl + 1 ( Quick Fix ) et sélectionnez l'un des ci-dessous-
a) Ajouter jUnit 4 bibliothèque de buildpath
b) Fixer projet d'installation
Si l'un n'apparaît pas votre eclipse installation est manquant jUnit 4 plugin.
Dans ce cas, google sur comment installer jUnit dans eclipse.
Essayez un nouvel espace de travail peut-être ?
Je suis en train de lancer Eclipse, JUnit Plugin de test. Voir mes modifications pour la accepté de répondre.
OriginalL'auteur Aniruddh Joshi
Vous pouvez avoir des problèmes non résolus dans votre pom.xml fichier. Ouvrez la vue des problèmes à résoudre en conséquence. Ensuite, idéalement, vous serez en mesure d'exécuter les cas de test avec succès sans rencontrer classnotfoundexception.
OriginalL'auteur Raju Rao
Deux endroits possibles pour vérifier pour plus de détails:
jar tvf
oujavap -classpath
et spécifier le POT), et de vérifier son avec des dépendanceseclipse.ini
pour certains d'initialisation des variables qui pourraient éventuellement être fixe.OriginalL'auteur Menachem