JUnit: NoClassDefFoundError: org/junit/runner/manipulation/Filter

2022-09-01 19:54:53

当我尝试运行某些单元测试时,会引发以下错误:

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/resorcestest/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>

答案 1

即使我遇到了同样的问题,所以请尝试以下步骤 -

  1. 在包资源管理器中右键单击该项目,然后单击“属性”。
  2. 单击库选项卡。
  3. 单击添加库按钮。
  4. 选择 JUnit,然后单击下一步。
  5. 选择 JUnit 4(这就是我正在使用的)。
  6. 单击“完成”。
  7. 现在右键单击包含单元测试的文件,然后选择“属性”。
  8. 在“运行/调试”设置下,从该文件的“启动配置”中删除任何条目。点击确定。

希望您现在能够运行测试。


答案 2

此错误可能是通过将 JUnit 库添加到模块路径而不是类路径引起的。

在Eclipse中最左侧的面板“包资源管理器”中,右键单击您的项目,转到属性,然后转到“Java构建路径”单击“类路径”而不是“模块路径”,单击“添加库...”然后是朱尼特。

enter image description here

enter image description here


推荐