如何从 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 环境变量?的主要内容,如果未能解决你的问题,请参考以下文章

springmvc环境搭建好了怎么访问

如何从詹金斯访问maven属性?

如何在 POM.xml 中引用环境变量?

如何在 POM 中输入 MS 访问 JDBC 驱动程序?

Linux下Maven私服Nexus3.x环境构建操作记录

如何获取/获取 Jenkins 管道中设置的环境变量到我们的 maven pom.xml