检测到的 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 中