如何从 maven pom 访问 linux 环境变量?
Posted
技术标签:
【中文标题】如何从 maven pom 访问 linux 环境变量?【英文标题】:How to access linux environment variables from maven pom? 【发布时间】:2012-12-21 05:47:38 【问题描述】:我想从 pom.xml 访问 linux 环境变量
我已将WAS_LOCAL_HOST='http://localhost:9081'
添加到
~/.bashrc
和 ~/.zsh/rc/env.rc
现在我想从 maven 的pom.xml
访问它。我尝试过$env.WAS_LOCAL_HOST
和$WAS_LOCAL_HOST
,但我的IntelliJ 仍然将其标记为Cannot resolve symbol env.WAS_LOCAL_HOST
如何从maven正确访问这个变量?
【问题讨论】:
您应该注意根据您的环境进行构建,这根据定义是不可复制的。 你为什么需要这样的环境取决于事情的问题。 我们使用它来将 Jenkins 内部版本号和 svn 修订版(或 git commit)注入到工件 MANIFEST.MF 中,然后再将其上传到我们的 nexus 存储库中。请注意,我们在单独的配置文件中也有此内容。无论何时在本地构建变量,我们都将变量默认为 DEVELOPMENT。 【参考方案1】:在 pom 中,引用环境变量,例如 MY_VALUE
为 $env.MY_VALUE
。检查this link 了解更多信息。
【讨论】:
【参考方案2】:我不确定这是否适用,但你可以试一试。
当您将变量添加到~/.bashrc
时,您只需将其添加为可以在shell 中使用的变量。如果您想在系统范围内使用变量,我会尝试输入/etc/profile
。
另一方面,在哪里声明这些系统范围的变量有时取决于您使用的 Linux 发行版。 /etc/profile
是您使用 Red Hat 发行版时的最佳选择,但当您使用 Ubuntu 时,用户指南建议在 /etc/environment
中声明它们。您可能应该为您的发行版查找它。
另外,在声明它们之后不要忘记注销并再次登录。
【讨论】:
“另外,在声明它们之后不要忘记注销并再次登录。” - 或者使用“.~/.bashrc”获取 rc 文件。 我知道有类似的东西,但不记得具体是什么了。感谢您添加此内容!以上是关于如何从 maven pom 访问 linux 环境变量?的主要内容,如果未能解决你的问题,请参考以下文章