spring-boot - ClassNotFoundException : org. junit.platform.launcher.TestExecutionListener 运行 JUnit5 时

标签 spring-boot gradle intellij-idea junit junit5

在我的 Intelly Idea 的基于 Gradle 的项目(Java Spring Boot 版本“2.0.3.RELEASE”)中,当我尝试调试单元测试时出现此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/platform/launcher/TestExecutionListener
  at java.lang.ClassLoader.defineClass1(Native Method)
  at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
  at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
  at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  at com.intellij.junit5.JUnit5IdeaTestRunner.createListeners(JUnit5IdeaTestRunner.java:39)
  at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:45)
  at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
  at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.lang.ClassNotFoundException: org.junit.platform.launcher.TestExecutionListener
  at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  ... 16 more

Gradle 版本是 4.8

Gradle 依赖项是:

testCompile("junit:junit:4.12")
testCompile(
        'org.junit.jupiter:junit-jupiter-api:5.1.0'
)
testRuntime(
        'org.junit.jupiter:junit-jupiter-engine:5.1.0',
        'org.junit.vintage:junit-vintage-engine:5.1.0',
        'org.junit.platform:junit-platform-launcher:1.1.0',
        'org.junit.platform:junit-platform-runner:1.1.0'
)


我缺少什么设置,我该如何解决这个问题?

最佳答案

尝试运行

gradle test 

在命令行上。这应该显示更详细的输出以帮助诊断问题。

关于spring-boot - ClassNotFoundException : org. junit.platform.launcher.TestExecutionListener 运行 JUnit5 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51322862/

相关文章:

java - 如何为 Java 8 谓词编写 Mockito 测试

java - 如何将 Eureka 名称与 OAuth2RestTemplate 一起使用

java - 二进制/合格名称错误?以 : <any? >$ 开头

java - 非法状态异常 : PsiFile not parsed for filepath/settings. 渐变。等到 onPsiFileAvailable() 被调用

intellij-idea - 如何在 IntelliJ 中重命名文件而不找到用法?

java - 如何使用 IntelliJ IDEA 在 tomcat 中设置 JNDI 资源

maven - 防止 Flyway Maven 插件下载旧的 slf4j jar

java - 为什么在这个例子中使用 Bean——它看起来像是毫无意义的间接?

spring - 如何使用 spring-boot 微服务架构实现一项任务只运行在一个实例上

gradle - 如何配置 Gradle google-java-format 插件以在构建步骤中运行 goJF?