我正在将一个项目从jdk 8迁移到jdk 11。在我的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命令后,我得到一个错误:无法jdk.tools在指定路径/opt/jdk-11.0.9/../lib/tools.jar中找到工件www.example.com:tools:jar:1。我知道tools.jar已从jdk 11中删除。我认为pom.xml中的一些依赖项依赖于tools.jar,但我尚未找到一个很好的解决方案来确定这些依赖项是什么。或者可能是其他一些问题。
2条答案
按热度按时间pengsaosao1#
基于你的上述配置,它是预期得到这下面的错误:
编译时发生致命错误:错误:无效的目标版本:1.11
我建议将源代码和发布目标更改为
11
,而不是1.11
,请参见下面的示例。然后使用
mvn dependency:tree
和mvn dependency:analyze
和/或使用-X
选项对其进行调试。balp4ylt2#
有时候如果这个错误发生在Maven中,它会完全阻止它运行,所以
dependency:tree
目标也会给予这个错误。在我的例子中,我得到它是因为一个旧的odfdom依赖关系提到here-如果你在类似的情况下,你可以尝试禁用你的依赖关系,并启用他们一个接一个,看看错误是否消失,至少Maven运行正确。