当我尝试使用 Ctrl + 0 运行JUnit测试时,使用Quick JUnit插件的Eclipse会出现以下错误:
java.lang.NoClassDefFoundError: org/junit/runner/notification/StoppedByUserException
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: org.junit.runner.notification.StoppedByUserException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 6 more
JUnit位于pom.xml
:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
...
</dependencies>
答案 0 :(得分:2)
安装m2e - Maven Integration for Eclipse插件(在之前的Eclipse升级期间消失)修复了错误。
答案 1 :(得分:0)
我通过安装Ive DE解决了。问题基本上是依赖性没有得到解决。 在运行Junit之前我没有注意到,因为项目已经用较旧的日食进行编译。
答案 2 :(得分:0)
我发现这可能是因为用eclipse luna打开了日食火星工作区。我做到了这一点,直到我记得我已经更新了eclipse而不是eclipse的链接时才能让它工作。用日食火星打开所有单元测试再次工作。