2017-04-03 139 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“。 –