【发布时间】:2011-11-18 11:14:19
【问题描述】:
我正在寻找一种方法来查找主机名并将其设置为 Maven 中的属性。
这不适用于所有环境:
...
<properties>
<hostname>${env.HOSTNAME}</hostname>
</properties>
...
有什么建议吗?
【问题讨论】:
-
您需要在实际构建中还是仅在 CI 环境中使用它?
-
我想过滤测试属性文件,将 ${hostname} 替换为运行它的主机名。这对于本地构建和 CI 环境很有用。对于“真实”构建,属性文件中的主机名是硬编码的。这是为了确保属性文件适用于正确的环境。
-
为什么不为您需要的每个环境创建工件,而不是让构建环境依赖?这个怎么样:blog.soebes.de/index.php?/archives/…
-
这将要求每个开发人员都有自己的配置并手动添加他们的主机名。生成的工件不依赖于环境。相同的二进制文件部署到任何环境。在每个环境中,我都有一个带有“秘密”密码的属性文件,不应将其签入源代码控制或存在于其他环境中。当开发人员出于测试目的在本地构建时,我希望构建能够基于过滤属性文件为本地环境生成适当的属性文件,用 pom 中的属性替换占位符。
标签: maven properties environment-variables localhost pom.xml