如何解决从使用 jdk8 迁移到 jdk11,出现与 tools.jar 相关的错误
我正在将一个项目从 jdk8 迁移到 jdk11。 在我的 pom.xml 文件中,我已经把
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<java.version>11</java.version>
和
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.11</source>
<target>1.11</target>
<release>11</release>
<fork>true</fork>
</configuration>
</plugin>
运行 mvn clean install 命令后,出现错误:在指定路径 /opt/jdk-11.0.9/../lib/tools.jar 找不到工件 jdk.tools:tools:jar:1。我知道 tools.jar 已从 jdk11 中删除。我在想我的 pom.xml 中的一些依赖项依赖于 tools.jar,我还没有找到一个很好的解决方案来弄清楚这些依赖项是什么。或者可能是其他一些问题。
解决方法
根据您的上述配置,预计会出现以下错误:
致命错误编译:错误:无效目标版本:1.11
我建议 το 更改要解决的源和释放目标 11
而不是 1.11
,请参见下面的示例。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
然后使用 mvn dependency:tree
和 mvn dependency:analyze
和/或使用 -X
option 对其进行调试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。