3

我正在尝试从它的源代码构建斐济软件。这是 github 页面:斐济源代码 我开始使用来自 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 启用对进一步非法反射访问操作的警告
警告:所有非法访问操作将在未来版本中被拒绝
[信息]正在扫描项目...
[信息]
[信息] ----------------< sc.fiji:fiji >------------ ---------------- 
[ INFO ]建设斐济 2.1.2-SNAPSHOT 
[ INFO ] --------------------- -----------[罐子]--------------------------------- 
[信息]
[ INFO ] --- maven-enforcer-plugin:1.4.1:enforce (enforce-rules) @ fiji --- 
[ INFO ] 添加忽略:module-info
[信息]添加忽略:META-INF/versions/*/module-info
[信息]添加忽略:com.esotericsoftware.kryo.*
[信息]添加忽略:com.esotericsoftware.minlog.*
[信息]添加忽略:com.esotericsoftware.reflectasm.*
[信息]添加忽略:com.google.inject。*
[信息]添加忽略:jnr.ffi.*
[信息]添加忽略:org.apache.hadoop.yarn.*.package-info
[信息]添加忽略:org.apache.spark.unused.UnusedStubClass
[信息]添加忽略:org.hibernate.stat.ConcurrentStatisticsImpl
[信息]添加忽略:org.jetbrains.kotlin.daemon.common.*
[信息]添加忽略:org.junit.runner.Runner
[信息]添加忽略:模块信息
[信息]添加忽略:模块信息
[警告] 规则 2:org.apache.maven.plugins.enforcer.RequireJavaVersion 失败并显示消息:
检测到的 JDK 版本:11.0.8 不在允许的范围内 [1.8.0-101,1.8.9999]。
[信息] --------------------------------------------- ------------------------- 
[信息]构建失败
[信息] ----------------- -------------------------------------------------- ----- 
[信息]总时间:22.131 s
[ INFO ] 完成时间:2020-08-23T23:01:01+04:30
[信息] --------------------------------------------- ------------------------- 
[错误]无法执行目标org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:在项目 fiji 上执行(enforce-rules):一些Enforcer规则失败。在上面查看解释规则失败原因的特定消息。-> [帮助 1] 
[错误]
[错误] 要查看错误的完整堆栈跟踪,请使用-e开关重新运行 Maven 。
[错误] 使用-X开关重新运行 Maven以启用完整的调试日志记录。
[错误]
[错误]有关错误和可能的解决方案的更多信息,请阅读以下文章:
[错误] [帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
 ali@ali-All-Series : ~/Downloads/fiji-master $ 
我怎样才能解决这个问题?
4

2 回答 2

3

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

例子:

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
于 2020-08-28T07:17:01.390 回答
1

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

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

于 2021-01-06T17:31:47.600 回答