正确设置工具链后 Maven 构建错误
Posted
技术标签:
【中文标题】正确设置工具链后 Maven 构建错误【英文标题】:Maven build error after setting toolchain right 【发布时间】:2017-03-14 06:56:52 【问题描述】:我安装了 Java 版本 1.8.111,运行 mvn3 install
后的初始错误消息如下。
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-toolchains-plugin:1.1:toolchain (default) on project myfile: Cannot find matching toolchain definitions for the following toolchain types:
[ERROR] jdk [ vendor='sun' version='1.6' ]
[ERROR] Please make sure you define the required toolchains in your ~/.m2/toolchains.xml file.
为了解决这个问题,我已将 toolchains.xml 更新到版本 1.8.111,但仍然遇到相同的错误。在运行mvn3 clean
并成功清理后我也尝试过,但仍然出现相同的错误。
谁能指出这个 1.6 版的来源? 我已经检查了 JAVA_HOME,它设置为 1.8。
谁能解释一下maven如何调用Java版本?
感谢您的帮助。
下面是我的 toolchains.xml
【问题讨论】:
我相信您以错误的方式解释错误消息。对我来说,您尝试构建的项目似乎需要 JDK 1.6.x 来构建。要对此进行测试,您可以编辑您的 toolchains.xml 以告诉 maven 使用您的 JDK 1.8 作为 JDK 1.6 的工具链 您可以发布您的~/.m2/toolchains.xml
文件吗?
应该如何解读?你能解释一下那个错误信息在说什么吗?
【参考方案1】:
您的应用程序应该使用JDK 1.6
构建并找到它,Maven 正在您的home/.m2/
目录中的toolchains.xml
中寻找[ vendor='sun' version='1.6' ]
的定义(参见例如this maven guide)。你只需要指向它,一切都应该很好。
<?xml version="1.0" encoding="UTF8"?>
<toolchains>
<toolchain>
<type>jdk</type>
<provides>
<version>1.6</version>
<vendor>sun</vendor>
</provides>
<configuration>
<jdkHome>/Library/Java/JavaVirtualMachines/jdk1.6.X_XX.jdk/Contents/Home</jdkHome>
</configuration>
</toolchain>
</toolchains>
【讨论】:
同样适用于 jdk9...只需将以上是关于正确设置工具链后 Maven 构建错误的主要内容,如果未能解决你的问题,请参考以下文章
CMake:自定义工具链:CMAKE_AR 和 CMAKE_CXX_ARCHIVE_CREATE