现象
[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: There was an error in the forked process
[ERROR] org.junit.platform.launcher.TestPlan.containsTests()Z
排查
执行@Test的测试用例,同样报错
Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform.commons.support.ReflectionSupport.findMethod(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Optional;
单独编写main方法执行,也同样报错
java: JDK isn't specified for module
结局方案
1、首先解决main方法无法执行的
删掉.idea文件,重启idea,点击pom.xml重新导入为maven项目
2、解决@Test无法执行和无法deploy的错误
通过网络搜索猜测是idea版本不支持导致的,旧的idea可以部署,新的版本却不能部署。
旧的idea版本为:IntelliJ IDEA 2021.3.2 (Community Edition)
新的idea版本为:IntelliJ IDEA 2023.2.5 (Ultimate Edition)
所以尝试在pom内更改junit后解决该问题:
//旧的引入
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.0.0-M4</version>
<scope>test</scope>
</dependency>
//新的引入
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>