如何推荐在pom.xml中的环境变量?如何推荐在pom.xml中的环境变量?(How to refe

2019-05-13 21:35发布

我使用Maven作为构建工具。 我已叫一个环境变量env 。 我怎样才能在访问这个环境变量的值pom.xml文件?

Answer 1:

退房Maven的属性指南 ...

作为Seshagiri在评论中指出, ${env.VARIABLE_NAME}会做你想要什么。

我会加提醒一句,说一个pom.xml应该完整地描述你的项目,所以请使用环境变量明智。 如果你让你的建立依赖于你的环境,他们是很难复制



Answer 2:

这可能是更安全的直接传递环境变量Maven的系统属性。 例如,假设在Linux上您要访问的环境变量MY_VARIABLE。 你可以在你的pom文件中使用的系统属性。

<properties>
    ...
    <!-- Default value for my.variable can be defined here -->
    <my.variable>foo</my.variable>
    ...
</properties>
...
<!-- Use my.variable -->
... ${my.variable} ...

设置maven的命令行上的属性值:

mvn clean package -Dmy.variable=$MY_VARIABLE


Answer 3:

此外,请确保您的环境变量 由大写字母仅由 ....我不知道为什么(文档没有什么明确的关于它说,至少@Andrew白提供的链接),但如果这个变量是一个小写单词(如env.dummy),变量总是来到空或空...

我是为此而努力就像一个小时,直到我决定尝试一个大写的变量,问题就解决了。

OK变量的例子:

  • DUMMY_ONE
  • JBOSS_SERVER_PATH

:我使用Maven V3.0.5)

我希望这可以帮助别人....



Answer 4:

我们不能用

<properties>
    <my.variable>${env.MY_VARIABLE}</my.variable>
</properties>


Answer 5:

我用同样的事情挣扎,运行设置变量一个shell脚本,然后想要使用的变量共享,聚甲醛。 我们的目标是让环境变量替换使用com.google.code.maven-替代品,插件在我的项目文件中的字符串。

使用${env.foo}${env.FOO}并没有为我工作。 Maven的只是没有找到变量。 什么工作是传递变量作为Maven的命令行参数。 这里的设置:

  1. 坐落在shell脚本变量。 如果你在一个子脚本启动Maven的,请确保该变量是越来越设置,例如使用source ./maven_script.sh从父脚本中调用它。

  2. 在共享,聚甲醛,创建一个命令行PARAM,抓住环境变量:

<plugin>
  ...
  <executions>
    <executions>
    ...
      <execution>
      ...
        <configuration>
          <param>${foo}</param> <!-- Note this is *not* ${env.foo} -->
        </configuration>
  1. 在com.google.code.maven-替代品-插件,使得替换值${foo}

  2. 在调用行家我的shell脚本,将其添加到命令: -Dfoo=$foo



文章来源: How to refer environment variable in POM.xml?