use*_*403 156 java environment-variables pom.xml maven
我使用maven作为构建工具.我已经设置了一个名为的环境变量env.如何在pom.xml文件中访问此环境变量的值?
And*_*ite 199
查看Maven属性指南 ...
正如Seshagiri在评论中指出的那样,${env.VARIABLE_NAME}会做你想做的事.
我会添加一个警告,并说pom.xml应该完整地描述你的项目,所以请明智地使用环境变量.如果您的构建取决于您的环境,则它们更难以重现
Eri*_*reg 25
将环境变量直接传递给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} ...
Run Code Online (Sandbox Code Playgroud)
在maven命令行上设置属性值:
mvn clean package -Dmy.variable=$MY_VARIABLE
Run Code Online (Sandbox Code Playgroud)
Car*_*Way 19
此外,请确保您的环境变量是由大写字母仅由 ....我不知道为什么(文档没有什么明确的关于它说,至少@Andrew白提供的链接),但如果变量是一个小写字(例如env.dummy),变量总是空或空...
我正在努力解决这个问题,直到我决定尝试UPPER CASE VARIABLE,问题解决了.
OK变量示例:
(注意:我使用的是maven v3.0.5)
我希望这可以帮助某人......
小智 10
我们不能用
<properties>
<my.variable>${env.MY_VARIABLE}</my.variable>
</properties>
Run Code Online (Sandbox Code Playgroud)
小智 5
我也在努力解决同样的问题,运行一个设置变量的 shell 脚本,然后想要使用共享 pom 中的变量。目标是使用 com.google.code.maven-replacer-plugin 让环境变量替换项目文件中的字符串。
使用${env.foo}或${env.FOO}对我不起作用。Maven 只是没有找到该变量。有效的方法是将变量作为 Maven 中的命令行参数传递。这是设置:
在 shell 脚本中设置变量。如果您在子脚本中启动 Maven,请确保已设置变量,例如使用source ./maven_script.sh从父脚本调用它。
在shared-pom中,创建一个获取环境变量的命令行参数:
<插件>
...
<处决>
<处决>
...
<执行>
...
<配置>
<param>${foo}</param> <!-- 注意这*不是* ${env.foo} -->
</配置>
在 com.google.code.maven-replacer-plugin 中,设置替换值${foo}。
在我调用 maven 的 shell 脚本中,将其添加到命令中:-Dfoo=$foo
| 归档时间: |
|
| 查看次数: |
141131 次 |
| 最近记录: |