【问题标题】:Can Maven reference JAVA_HOME from inside the POM fileMaven 能否从 POM 文件中引用 JAVA_HOME
【发布时间】:2020-11-12 20:49:10
【问题描述】:

是否可以参考$JAVA_HOME在POM文件中设置属性?

<executable><$JAVA_HOME>/bin/javac</executable>

我这样做的原因是让 maven 使用正确的编译器版本的唯一方法是设置 &lt;executable&gt;。但我不想在 pom 文件中硬编码 JAVA_HOME 位置。

【问题讨论】:

  • 我们能否详细了解您为什么要这样做?一般来说,maven 应该已经知道并尊重JAVA_HOME?
  • 可以参考这个链接stackoverflow.com/questions/2503658/…
  • 听起来你想使用与 maven 不同的 jdk。
  • @Richard 在那个问题中你似乎完全有其他问题。我认为您的“mvn”脚本或 settings.xml 以某种方式损坏,因为它应该默认使用 JAVA_HOME,但似乎没有。
  • 如果你真的需要使用不同的 JDK 来运行 Maven 和你想要构建的 JDK(编译/测试),你应该看看maven.apache.org/guides/mini/guide-using-toolchains.html

标签: java maven


【解决方案1】:

您可以使用${env.ANY_ENV_VARIABLE} 来获取 pom.xml 中的环境变量。 所以在你的情况下使用${env.JAVA_HOME}

【讨论】:

  • ...但请注意,maven 已经应该使用 JAVA_HOME,因此预计这不会改变任何东西 - 除非在 maven 设置或脚本中手动更改了其他内容
猜你喜欢
  • 2013-03-30
  • 2011-10-31
  • 1970-01-01
  • 2013-01-21
  • 2011-10-05
  • 2011-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多