检测到的 JDK 版本:11.0.8 不在允许范围内 [1.8.0-101,1.8.9999]

Posted

技术标签:

【中文标题】检测到的 JDK 版本:11.0.8 不在允许范围内 [1.8.0-101,1.8.9999]【英文标题】:Detected JDK Version: 11.0.8 is not in the allowed range [1.8.0-101,1.8.9999] 【发布时间】:2020-12-17 02:41:55 【问题描述】:

我正在尝试从它的源代码构建斐济软件。这是 github 页面:fiji source code 我从 ubuntu 的终端开始使用 maven 构建项目,但遇到了这个错误:

ali@ali-All-Series:~/Downloads/fiji-master$ mvn
警告:发生了非法反射访问操作
警告:com.google.inject.internal.cglib.core.$ReflectUtils$1(文件:/usr/share/maven/lib/guice.jar)对方法 java.lang.ClassLoader.defineClass(java.lang) 的非法反射访问.String,byte[],int,int,java.security.ProtectionDomain)
警告:请考虑将此报告给 com.google.inject.internal.cglib.core.$ReflectUtils$1 的维护者
警告:使用 --illegal-access=warn 启用对进一步非法反射访问操作的警告
警告:所有非法访问操作将在未来版本中被拒绝
[INFO] 正在扫描项目...
[信息]
[INFO] ----------------------------sc.fiji:斐济 >----------------------------
[INFO] 建设斐济 2.1.2-SNAPSHOT
[INFO] --------------------------------[jar ]-- -------------------------------------------
[信息]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-rules) @斐济 -- -
[INFO] 添加忽略:module-info
[INFO] 添加忽略:META-INF/versions/*/module-info
[INFO] 添加忽略:com.esotericsoftware.kryo.*
[INFO] 添加忽略:com.esotericsoftware.minlog.*
[INFO] 添加忽略:com.esotericsoftware.reflectasm.*
[INFO] 添加忽略:com.google.inject.*
[INFO] 添加忽略:jnr.ffi.*
[INFO] 添加忽略:org.apache.hadoop.yarn.*.package-info
[INFO] 添加忽略:org.apache.spark.unused.UnusedStubClass
[INFO] 添加忽略:org.hibernate.stat.ConcurrentStatisticsImpl
[INFO] 添加忽略:org.jetbrains.kotlin.daemon.common.*
[INFO] 添加忽略:org.junit.runner.Runner
[INFO] 添加忽略:module-info
[INFO] 添加忽略:module-info
[警告] 规则 2:org.apache.maven.plugins.enforcer.RequireJavaVersion 失败并显示消息:
检测到的 JDK 版本:11.0.8 不在允许的范围内 [1.8.0-101,1.8.9999]。
[信息] ---------------------------------- ----------------------------------
[信息] 构建失败
[信息] ---------------------------------- ----------------------------------
[INFO] 总时间:22.131 秒
[INFO] 完成时间:2020-08-23T23:01:01+04:30
[信息] ---------------------------------- ----------------------------------
[ERROR] 无法在项目 fiji 上执行目标 org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (enforce-rules):某些 Enforcer 规则失败。查看上面解释规则失败原因的具体消息。 -> [Help 1]
[错误]
[ERROR] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。
[ERROR] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。
[错误]
[ERROR] 有关错误和可能的解决方案的更多信息,请阅读以下文章:
[错误] [帮助1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
ali@ali-All-Series:~/Downloads/fiji-master$
我怎样才能解决这个问题?

【问题讨论】:

您是否安装了 Java 1.8? 【参考方案1】:

JAVA_HOME 环境变量设置为Java 1.8 目录。

例子:

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

【讨论】:

我的JDK版本是11.0.8。这个错误是不是说明这个程序和这个JDK版本不兼容?【参考方案2】:

这并不完全针对您的情况,尽管它可能会有所帮助。

例如,在 Eclipse 中,您可以转到 Preferences > Java > Installed JREs > Add the JDK 1.8 from Fiji's Java 文件夹。这至少解决了 Eclipse 上的版本冲突。您应该能够为其他 IDE 更改类似的路径。

【讨论】:

以上是关于检测到的 JDK 版本:11.0.8 不在允许范围内 [1.8.0-101,1.8.9999]的主要内容,如果未能解决你的问题,请参考以下文章

JDK 8('1.8.*')的要求检查失败!检测到的版本:13.0.2

Cordova 构建错误“JDK 8 ('1.8.*') 的要求检查失败!检测到的版本:11.0.2”

JDK 1.8.x 的要求检查失败!检测到的版本:3.0.0

Cordova 构建 android 失败!!! JDK 8('1.8.*')的要求检查失败!检测到的版本:9.0.1 在 Windows 10 中

eclipse和jdk版本必须对应吗

声音传感器模块检测到的数值范围是多少