我将Maven构建配置为使用 maven-toolchains-plugin ,只需为多个JDK配置〜/ .m2 / toolchains.xml :
<?xml version="1.0" encoding="UTF8"?>
<toolchains>
<toolchain>
<type>jdk</type>
<provides>
<version>9</version>
<vendor>oracle</vendor>
</provides>
<configuration>
<jdkHome>/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home</jdkHome>
</configuration>
</toolchain>
<toolchain>
<!-- ... several more JDKs ... -->
</toolchain>
</toolchains>
我的目标是在POM中使用jdkHome
的值,作为JDK9 jlink 工具的参数,但我找不到任何提取值的方法,或设置一个可用属性,该属性引用工具链JDK的jdkHome
/ JAVA_HOME
。有没有人找到实现这个目标的方法?我不想真正想要制作另一个 exec-maven-plugin 或 maven-antrun-plugin 进程来设置属性,而我想必须有一些简单的方法来实现这一点,我忽略了这一点。
答案 0 :(得分:0)
这里是Maven插件的链接,该插件使活动JDK工具链的jdkHome可以在Maven中作为javaHome属性使用:
https://github.com/dadrus/javahome-resolver-maven-plugin
免责声明:我不是该插件的开发人员。
一些警告:工具链插件必须在javahome-resolver-plugin之前运行,因为确定默认JDK的逻辑(即不使用工具链的JDK)无法正常工作。