2017-01-22 58 views
1

我正在尝试使用OS X和终端进行简单的junit测试。我已将Junit jar文件放入我的java文件夹中。我能够编译所有的文件使用:JUnit异常在main?

javac -cp .:"/Library/java/junit.jar" *.java 

它编译得很好,没有错误。然而,当我尝试运行命令:

java TestRunner 

它给人的错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/runner/JUnitCore 
    at TestRunner.main(TestRunner.java:7) 
Caused by: java.lang.ClassNotFoundException: org.junit.runner.JUnitCore 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 1 more 

我似乎无法找到我在做什么错误。任何帮助解决这个将不胜感激。

+0

我要管理我对classpaths有点粗糙,但是当你真的运行代码时,你不需要添加依赖到classpath吗?我也推荐使用像gradle,ant或maven这样的构建工具来处理所有这些东西,这在我看来只是一个很大的浪费。 –

回答

4

就像@ToddSewell说的那样,外部库也应该在你的classpath中执行。试试这个:

java -cp .:"/Library/java/junit.jar" TestRunner 
+0

我认为你的意思是“java”,而不是“javac”。 – duffymo

+0

是的,谢谢!修复。 – alexbt

相关问题