找不到或加载主类org.junit.runner.JUnitCore。

8

我把测试类打包成了 JAR 文件。在相同的文件夹下,我有 junit-4.10.jaraJar.jar。当我尝试执行以下命令时:

java -cp .:junit-4.10.jar org.junit.runner.JUnitCore TestOne

Error: Could not find or load main class org.junit.runner.JUnitCore

如何使其工作?

当我输入:java aJar.jar:junit-4.10.jar org.junit.runner.JUnitCore TestOne时,会得到以下结果:

Error: Could not find or load main class aJar.jar:junit-4.10.jar

“ls”的输出是什么? - JB Nizet
2个回答

7

您似乎在运行Windows系统,而不是LINUX/UNIX系统。在Windows上,路径分隔符是;,而不是:。另外,您还没有将jar文件放入类路径中。因此,您需要执行以下操作:

java -cp aJar.jar;junit-4.10.jar org.junit.runner.JUnitCore TestOne

当然,这假设两个jar包都在当前目录中。您还应该始终避免将类放在默认包中。

0

我最近遇到了同样的问题(JUnit 4.12),并通过以下命令解决了它(Windows):

java -cp "<libs>;<relative path to .class project folder>" org.junit.runner.JUnitCore <package.ClassName>

需要注意在classpath声明中的""和分号";"的使用。

javac -cp "junit-4.12.jar; hamcrest-core-1.3.jar;." Tests.java 对我有效。请注意结尾的点号——它很重要! - parsecer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接