NoClassDefFoundError:使用Eclipse和Quick JUnit的StoppedByUserException

时间:2013-02-11 20:24:03

标签: eclipse maven junit quick-junit

当我尝试使用 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>

3 个答案:

答案 0 :(得分:2)

安装m2e - Maven Integration for Eclipse插件(在之前的Eclipse升级期间消失)修复了错误。

答案 1 :(得分:0)

我通过安装Ive DE解决了。问题基本上是依赖性没有得到解决。 在运行Junit之前我没有注意到,因为项目已经用较旧的日食进行编译。

答案 2 :(得分:0)

我发现这可能是因为用eclipse luna打开了日食火星工作区。我做到了这一点,直到我记得我已经更新了eclipse而不是eclipse的链接时才能让它工作。用日食火星打开所有单元测试再次工作。