【发布时间】:2017-04-03 20:13:07
【问题描述】:
我是第一次尝试使用 JUnit,但在运行已编译的测试运行程序时似乎遇到了一些问题。我正在从命令行使用 java 并运行 macOS。
我使用以下命令成功编译了我的两个 jar 文件和 4 个 java 源文件:
javac -classpath junit-4.12.jar:jar2.jar StackLinkedTestRunner.java 2.java 3.java 4.java
但是,当我执行java StackLinkedTestRunner 时,我收到以下错误:
线程“主”java.lang.NoClassDefFoundError 中的异常: org/junit/runner/JUnitCore 在 StackLinkedTestRunner.main(StackLinkedTestRunner.java:9) 原因: java.lang.ClassNotFoundException: org.junit.runner.JUnitCore at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 1 更多
我用谷歌搜索了错误,但我真的不明白任何返回的问题或解决方案。如果人们能花时间解释我做错了什么以及如何解决它,我将不胜感激。
【问题讨论】:
-
这是超级基本的东西。不要将自己与 JUnit 混淆……当您不了解如何使 javac 和 java 在类路径方面很好地协同工作时。本质上:当您的 .java 源代码依赖于其他 JAR 以允许编译时,那么在使用 Java 运行您的类时,您的类路径中也需要这些 JAR。如前所述:超级基本的东西;记录了无数次。
标签: java command-line junit