首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最新的AdoptOpenJDK无法编译Java8Maven项目

最新的AdoptOpenJDK无法编译Java8Maven项目
EN

Stack Overflow用户
提问于 2021-04-05 09:44:37
回答 1查看 173关注 0票数 1

我已经有10年没有开发Java了,需要快速编译一个用Java8特性编写的plugin project。我下载了latest JDK (AdoptOpenJDK 16)并将其安装在我的MacOS开发机器上。

查看项目的POM文件,我看到了以下两个设置:

代码语言:javascript
复制
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>

read that these settings会告诉编译器代码是用Java8特性编写的,编译后的类需要与1.8JVM兼容。

我关注了the developer instructions,但遇到了错误:

在初始构建时,以下错误将停止构建:

代码语言:javascript
复制
[ERROR] import: Entry[import  from realm ClassRealm[project>org.github.flytreeleft:nexus3-keycloak-plugin:0.5.0-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
[ERROR] 
[ERROR] -----------------------------------------------------
[ERROR] : begin 0, end 3, length 2
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

在其他项目上使用Similar people encountered the same issue。最终,我使用了一个解决方法,即was suggested to skip the maven Enforcer来克服这个错误。

在重新构建时,项目将失败,并在各种文件中出现大约90个编译错误。这些消息将显示类似以下内容:

代码语言:javascript
复制
String cannot be resolved to a type

让我找到了this SO questions that had a similar error ..。但是没有好的答案。

如何构建此项目?

EN

回答 1

Stack Overflow用户

发布于 2021-04-05 09:44:37

解决方案是安装Java 8 JDK(LTS)并使用它进行构建。

首先,我从我的mac using these instructions中删除了最新的JDK,但在我的例子中,我必须使用适当的目录:

代码语言:javascript
复制
sudo rm -rf /Library/Java/JavaVirtualMachines/openjdk-16.jdk

第二,转到:

https://adoptopenjdk.net/

并下载并安装OpenJDK 8 (LTS)。这将安装正确的版本并将JAVA_HOME路径指向正确的位置。

安装完成后,我运行了构建并编译了插件,没有错误。

或者,您可以保留已安装的两个版本,并使用以下命令将JAVA_HOME指向Java8LTS版本:

代码语言:javascript
复制
export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_282`

当我运行以下命令时,找到了版本字符串:

代码语言:javascript
复制
/usr/libexec/java_home -V          
Matching Java Virtual Machines (2):
    16 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 16" 
/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
    1.8.0_282 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" 
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66947388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档