java.lang.NoSuchMethodError: org.junit.platform.commons.util.ReflectionUtils【解决办法】

今天爱分享给大家带来java.lang.NoSuchMethodError: org.junit.platform.commons.util.ReflectionUtils【解决办法】,希望能够帮助到大家。

报错信息:java.lang.NoSuchMethodError: org.junit.platform.commons.util.ReflectionUtils.getDefaultClassLoader()Ljava/lang/ClassLoader
报错截图

报错原因:原因在于 pom.xml 的依赖
看控制台输出第5行,有个错误信息 at com.intellij.junit5.JUnit5IdeaTestRunner.createListeners(JUnit5IdeaTestRunner.java:39),会发现 idea 正在尝试使用 JUnit5 运行测试。

解决方案
解决方案一:升级 idea 版本。(如果 idea 版本低于2017.3版本,则升级)
把 pom.xml 里的 test 依赖去掉(我的是引入了 spring-boot-starter-test 依赖,就把这个依赖去掉了),加入 JUnit5 依赖。但是还是不行,经过百度,可能是idea版本过低的原因(官方推荐2017.3以后版本,之前的版本不支持 JUnit5)。

解决方案二:使用 JUnit4。(该方法已验证,可以使用。)
修改 pom.xml。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
  <!--<exclusions>
   <exclusion>
    <groupId>org.junit.vintage</groupId>
    <artifactId>junit-vintage-engine</artifactId>
   </exclusion>
  </exclusions>-->
 </dependency>

修改测试类。增加 RunWith 注解,引入 org.junit.Test。

然后就可以访问地址测试了。

人已赞赏
Java

Unable to start ServletWebServerApplicationContext due to missing【解决办法】

2020-11-20 17:22:08

Java

Java语言采用何种编码方案?有何特点?【面试题详解】

2020-11-20 17:36:25

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
'); })();