JUnit: NoClassDefFoundError: org/junit/runner/manipulation/Filter
当我尝试运行某些单元测试时,会引发以下错误:
java.lang.NoClassDefFoundError: org/junit/runner/manipulation/Filter
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadTestLoaderClass(RemoteTestRunner.java:320)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:310)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:305)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:283)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:207)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:191)
我不得不提一下,junit-4.11.jar被添加到项目构建路径中。有什么想法吗?
编辑:我(Gábor Lipták)已经阅读了这个问题的另一个问题,这个问题应该是重复的。这不是重复。如果有人在 Eclipse 中使用 Gradle Buildship 作为构建插件,那么如果您错误地将测试类而不是 .在生成运行配置时,Buildship似乎负责测试与编译类路径。请参阅下面我的文件的以下片段作为证据:
main/resorces
test/resources
.classpath
<classpathentry kind="src" output="bin/main" path="src/main/resources">
<attributes>
<attribute name="gradle_scope" value="main"/>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="bin/test" path="src/test/resources">
<attributes>
<attribute name="gradle_scope" value="test"/>
<attribute name="gradle_used_by_scope" value="test"/>
</attributes>
</classpathentry>