2017-04-03 137 views
1

我試圖首次使用JUnit,但運行編譯的測試運行器時似乎遇到了一些問題。我從命令行使用java並運行macOS。嘗試運行JUnit測試運行器時出錯

我成功編譯我使用以下命令兩個jar文件和4個Java源文件:

javac -classpath junit-4.12.jar:jar2.jar StackLinkedTestRunner.java 2.java 3.java 4.java

然而,當我執行java StackLinkedTestRunner,我得到以下錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/runner/JUnitCore at StackLinkedTestRunner.main(StackLinkedTestRunner.java:9) 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

這是超基本的東西。不要將自己與JUnit混淆......當你不瞭解如何讓javac和java在類路徑方面很好地一起工作時。實質上:當您的.java源文件依賴於其他JAR以允許編譯時,那麼當您使用Java運行您的類時,您的類路徑中也需要這些JAR文件。如所說:超級基本的東西;在那裏記錄了數十億次。 – GhostCat

回答

0

您正在爲java編譯器設置類路徑,但您也必須爲java執行設置類路徑。

+0

感謝您的回覆。我會執行'java -classpath junit-4.12.jar:jar2.jar StackLinkedTestRunner.java 2.java 3.java 4.java'? –

+0

我不是真正有經驗的從命令行運行它,但我相信它會是'java -classpath junit-4.12.jar:jar2.jar StackLinkedTestRunner' –

+0

不幸的是,我得到錯誤「Error:Could not find or load main類StackLinkedTestRunner「。 –