2017-01-22 59 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

相關問題