繁体   English   中英

java.lang.ClassNotFoundException: org.junit.platform.engine.ConfigurationParameters Junit5 与 eclipse

[英]java.lang.ClassNotFoundException: org.junit.platform.engine.ConfigurationParameters Junit5 with eclipse

我收到以下异常:

java.lang.NoClassDefFoundError: org/junit/platform/engine/ConfigurationParameters
    at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:34)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
    at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
    at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:350)
    at java.base/java.lang.Class.newInstance(Class.java:645)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:371)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:366)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:310)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:225)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
Caused by: java.lang.ClassNotFoundException: org.junit.platform.engine.ConfigurationParameters
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 13 more

在 Eclipse 项目(无 Maven)中运行 JUnit 5。 有谁知道是什么导致了这个问题? Eclipse 版本:2020-12 JUnit 版本:5

我期待 JUnit 5 在 Eclipse 上运行而无需采取进一步行动。

我也发生了同样的错误。

解决方案:我必须将 JUnit 库添加到构建路径。 右键单击 class -> 构建路径 -> 配置构建路径 -> 添加库 -> 添加 JUnit

此时应将新库添加到模块路径而不是整个 class 路径中。

JUnit 测试现在正在为我运行,尽管我遇到了与@AlBlue 相同的错误。

我遇到了这个问题,因为我将构建路径配置为 JUnit 5 到模块路径。 相反,您需要在 Classpath 中配置它。

编辑如评论中所述:可以将库添加到构建路径和模块路径的两个位置。 如果在模块路径上添加 Junit,则这些类不可见,因为它们未打包在模块中

看起来您缺少 JUnit 的依赖项之一,这意味着 class 未加载。 检查您是否拥有所有必要的依赖项,特别是如果您没有使用 Maven 之类的构建工具。

在 Java 构建路径 window 中将 Junite 库添加到 Classpath 而不是 Modulepath,它为我解决了这个问题

当我尝试在 STS 4 MacOS 上运行 junit 测试 class 时,我的问题得到了解决。 我做了:

  1. 添加 JUnit 5 Jupiter 文件的所有必需的 jar 文件 -

    • junit-jupiter-api-5.8.0.jar
    • 注释-13.0.jar
    • apiguardian-api-1.1.2.jar
    • 核心-0.6.8.jar
    • hoplite-core-2.1.3.jar
    • hoplite-yaml-2.1.3.jar
    • junit-jupiter-engine-5.8.0.jar
    • junit-platform-commons-1.8.0.jar
    • junit-平台-引擎-1.8.0.jar
    • junit-platform-launcher-1.8.0.jar
    • junit5-0.6.8.jar
    • kotlin-reflect-1.6.20.jar
    • kotlin-stdlib-1.6.20.jar
    • kotlin-stdlib-common-1.6.20.jar
    • kotlin-stdlib-jdk7-1.6.10.jar
    • kotlin-stdlib-jdk8-1.6.10.jar
    • opentest4j-1.2.0.jar
    • slf4j-api-1.7.32.jar
  2. 或在 pom.xml 文件中添加依赖项

<dependency>
   <groupId>com.github.lemfi.kest</groupId>
   <artifactId>junit5</artifactId>
   <version>0.6.8</version>
</dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM