错误排查思路:Detected JDK Version is not allowed

简介: 错误排查:编译时出现 Detected JDK Version is not allowed,如何进行排查和解决呢?

当编译 Mybatis-Parent出现

mvn clean install -Dmaven.test.skip

在编译Mybatis-Parent源码时,出现如下报错:

[INFO] 
[INFO] ---------------------< org.mybatis:mybatis-parent >---------------------
[INFO] Building mybatis-parent 37-SNAPSHOT
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- maven-enforcer-plugin:3.1.0:enforce (enforce-java) @ mybatis-parent ---
[INFO] Adding ignore: module-info
[ERROR] Rule 1: org.apache.maven.plugins.enforcer.RequireJavaVersion failed with message:
Detected JDK Version: 1.8 is not in the allowed range 11,17,18,19,20.

然后我改成了11, 结果还是报错,而且报错很奇怪。11居然不在 11,17,18,19,20范围内:

[INFO] 
[INFO] ---------------------< org.mybatis:mybatis-parent >---------------------
[INFO] Building mybatis-parent 37-SNAPSHOT
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- maven-enforcer-plugin:3.1.0:enforce (enforce-java) @ mybatis-parent ---
[INFO] Adding ignore: module-info
[ERROR] Rule 1: org.apache.maven.plugins.enforcer.RequireJavaVersion failed with message:
Detected JDK Version: 11 is not in the allowed range 11,17,18,19,20.

查了下 StackOverFlow, 感觉描述的是我使用的JDK版本为11.x肯定是大于11的,所以将pom.xml文件中的范围改为:

<allowed.build.jdks>[11,12)</allowed.build.jdks>

再次编译打包成功。

当编译mybatis3时出现

再编译mybatis3时,仍然报上面的错误。这个很容易推测出来,肯定是引入parent的时候没有引入我们刚打包的。查看果然如此:

  <groupId>org.mybatis</groupId>
  <artifactId>mybatis-parent</artifactId>
  <version>37-SNAPSHOT</version>
  <packaging>pom</packaging>

mybatis-parent的pom.xml

  <parent>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-parent</artifactId>
    <version>36</version>
    <relativePath />
  </parent>

mybatis3的pom.xml

所以将mybatis3的pom.xml中parent版本改为37-SNAPSHOT即可。

相关文章
|
7月前
|
Java 应用服务中间件 微服务
【Java异常】feign.FeignException: status 400 reading xxx 异常解决方案
【Java异常】feign.FeignException: status 400 reading xxx 异常解决方案
60 0
|
前端开发
前端报错 error: unknown option `-v' 解决方法
前端报错 error: unknown option `-v' 解决方法
1495 0
|
2月前
|
Kubernetes NoSQL Java
ChaosBlade常见问题之在mac下编译报checksum mismatch的错误如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
19 0
运行JProfiler:ERROR: Invalid license key. Aborting
运行JProfiler:ERROR: Invalid license key. Aborting
372 0
运行JProfiler:ERROR: Invalid license key. Aborting
|
12月前
|
IDE 开发工具 Windows
IDEA启动异常Internal error.Please refer to http://jb.ge/ide/critical-startup-errors...
IDEA启动异常Internal error.Please refer to http://jb.ge/ide/critical-startup-errors...
|
Java
解决办法:Invalid Gradle JDK configuration found
解决办法:Invalid Gradle JDK configuration found
466 1
有效解决办法:marven:Fatal error compiling: 无效的目标发行版: 11
有效解决办法:marven:Fatal error compiling: 无效的目标发行版: 11
609 0
|
Java Maven
未解决:maven:Fatal error compiling: 无效的标记: -arg
未解决:maven:Fatal error compiling: 无效的标记: -arg
97 0
|
测试技术 API
LeetCode 278. 第一个错误的版本 First Bad Version
LeetCode 278. 第一个错误的版本 First Bad Version