错误排查思路: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即可。

相关文章
|
4月前
|
Java
No compiler detected, make sure you are running on top of a JDK instead of a JRE
No compiler detected, make sure you are running on top of a JDK instead of a JRE
57 1
|
4月前
|
Java
cxf 动态调用 WebService No compiler detected, make sure you are running on top of a JDK instead of a JRE
cxf 动态调用 WebService No compiler detected, make sure you are running on top of a JDK instead of a JRE
73 0
|
6月前
|
Java
JDK version和class file version对应关系
JDK version和class file version对应关系
|
6月前
|
Java 应用服务中间件 Maven
JDK版本错误:Unsupported major.minor version 51.0个人找到的解决办法
JDK版本错误:Unsupported major.minor version 51.0个人找到的解决办法
|
Java iOS开发
Mac编译OpenJDK8:configure: error: Xcode 4 is required to build JDK 8, the version found was 10.1config
Mac编译OpenJDK8:configure: error: Xcode 4 is required to build JDK 8, the version found was 10.1config
136 0
|
Java 开发工具 Maven
jdk版本冲突Unsupported major.minor version错误定位
java中编译代码时,如果因jdk版本不同,可能导致编译失败,下面我提供一个我解决此类问题的思路供大家参考
4000 0
|
Java Windows
【java】JDK安装后,没有配置环境变量,也可以java -version查看到版本信息
JDK安装后,没有配置环境变量,也可以java -version查看到版本信息   原因是:jdk安装过程,java、javaw、javaws三个命令被复制到C:\windows\system32目录下 所以,如果运行命令javac,会提示“javac不是内部或外部命令” 其实高版本的JDK 只要成功安装后就能正常使用了,但为了保险起见,还是把环境变量配置为好 配置完成之后,你查看javac就发现正常了。
1313 0
|
Java
关于安装多个版本jdk之后java -version不正确的问题
问题描述: 今天突然想写一个socket通信的小应用,分别采用BIO、NIO、AIO的方式来实现,来复习前面看的关于TCP/UDP通信的知识。于是乎在原来安装了jdk1.6的机子上重新安装了jdk1.8。
1000 0