“L'Exception " in thread ”main“ java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing”
Sur mon Ubuntu, je lance un exécutable java, avec une erreur à propos d'un paquet que je n'ai pas explicitement utiliser dans mon code. Quelle pourrait être la solution? Merci.
$ java -cp .:/home/tim/program_files/programming/java/junit-4.11.jar MyTest
Exception in thread "main" java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.junit.runner.Computer.getSuite(Computer.java:28)
at org.junit.runner.Request.classes(Request.java:75)
at org.junit.runner.JUnitCore.run(JUnitCore.java:128)
at org.junit.runner.JUnitCore.runClasses(JUnitCore.java:73)
at MyTest.main(MyTest.java:13)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 17 more
OriginalL'auteur Tim | 2014-10-07
Vous devez vous connecter pour publier un commentaire.
De Junit Wiki
Ajouter le hamcrest core pot au chemin de classe pour résoudre le problème.
ma conjecture est que JUnit l'utilise en interne.
Junit utilise hamcrest de rapprochement à l'interne. Vérifier l'utilisation de la ici
L'erreur n'est pas dire hamcrest-core.jar n'a pas été trouvé. alors, comment avez-vous suppose que j'ai besoin de l'ajouter? Supposons que vous ne savez pas à propos de l'emballage ou de junit. et juste essayer de le déduire à partir du message d'erreur.
Je savais qu'il y avait une dépendance à l'avance. Mais disons que si c'est un projet différent de la
NoClassDefFoundError
devrait vous diriger dans la bonne direction.OriginalL'auteur Ajay George