如何在POM.xml中引用环境variables?
我正在使用maven作为构build工具。 我已经设置了一个名为env的环境variables。 我怎样才能访问这个环境variables在pom.xml文件中的值? 
查看Maven属性指南 …
 正如Seshagiri在评论中指出的那样, ${env.variable_name}将会做你想做的事情。 
 我将添加一个警告的话,并说一个pom.xml应该完全描述你的项目,所以请明智地使用环境variables。 如果你使自己的构build依赖于你的环境,那么它们就很难重现 
此外,请确保您的环境variables 仅由大写字母组成 ….我不知道为什么(文档没有说明任何明确的,至less由@安德鲁·怀特提供的链接),但如果该variables是一个小写字(例如env.dummy),该variables总是为空或空…
我一直在努力挣扎,直到我决定尝试一个大写的variables,并解决了问题。
OKvariables示例:
- 假
- DUMMY_ONE
- JBOSS_SERVER_PATH
( 注意 :我正在使用maven v3.0.5)
我希望这可以帮助一个人….
将环境variables直接传递给maven系统属性可能会更安全。 例如,在Linux上说要访问环境variablesMY_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 
我们不能使用
 <properties> <my.variable>${env.MY_VARIABLE}</my.variable> </properties> 
我在同样的事情上挣扎着,运行一个设置variables的shell脚本,然后想要在shared-pom中使用variables。 目标是让环境variables使用com.google.code.maven-replacer-pluginreplace我的项目文件中的string。
 使用${env.foo}或${env.FOO}不适合我。  Maven只是没有findvariables。 有用的是将variables作为Maven中的命令行parameter passing。 这是设置: 
- 
在shell脚本中设置variables。 如果你在一个子脚本中启动Maven,确保variables已经被设置,例如使用 source ./maven_script.sh从父脚本调用它。
- 
在shared-pom中,创build一个抓取环境variables的命令行参数: 
 <插件>
   ...
   <处决>
     <处决>
     ...
       <执行>
       ...
         <结构>
           <param> $ {foo} </ param> <! - 注意这是* not * $ {env.foo}  - >
         </configuration>
- 
在com.google.code.maven-replacer-plugin中,创buildreplace值 ${foo}。
- 
在调用maven的shell脚本中,将其添加到命令: -Dfoo=$foo