我有一个 junit 测试套件,已从 eclipse 成功运行。当我尝试使用
运行 jar 时java -jar AppTest.jar
我得到以下信息:
Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/runner/JUnitCore
at appdirect.AppTest.main(AppTest.java:18)
Caused by: java.lang.ClassNotFoundException: org.junit.runner.JUnitCore
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
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)
... 1 more
我知道 jar 已成功创建,因为我正在创建日志(以编程方式从 AppTest)并回显 $PATH 打印 junit.jar 所在的目录。
当我在 eclipse 中运行时,如何确保我拾取了所有 junit jars?
最佳答案
Path 可能会打印出 jar 的内容,但是 jar 是在类路径中的。还有一个名为 CLASSPATH
的环境变量,您需要在其中附加 junit jar 并尝试运行 AppTest.jar
关于java - 来自 cmdline 的 Junit - java.lang.ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10627510/