当我想发布时,我如何让开发人员隐藏东西?在maven中发布时的私人构建信息(db等)?
例如 - 当发布的时候,我要创建一个休眠会话,其中包含不同的设置 - 在生活环境中运行的数据库的设置。
如何在maven-release期间指定这些内容,使其他人不可见?
我在想也许命令行建设时,设置某种属性?这通常是如何在企业场景中完成的?
当我想发布时,我如何让开发人员隐藏东西?在maven中发布时的私人构建信息(db等)?
例如 - 当发布的时候,我要创建一个休眠会话,其中包含不同的设置 - 在生活环境中运行的数据库的设置。
如何在maven-release期间指定这些内容,使其他人不可见?
我在想也许命令行建设时,设置某种属性?这通常是如何在企业场景中完成的?
您可以为您的Dev,QA和Release环境定义一个单独的maven profiles,这些环境可以使用-P选项调用到mvn命令。以下是需要列入pom.xml
一些示例配置文件片段:
<properties>
<hostEnv>QA</hostEnv>
<hostDB>oracle</hostDB>
</properties>
<profiles>
<profile>
<id>${hostEnv}-${hostDB}</id>
<activation>
<activeByDefault>true</activeByDefault>
...
</activation>
</profile>
</profiles>
事情是这样的密码等属于settings.xml的,而不是到pom.xml文件。此外,我会建议把这样的东西放到像Jenkins这样的连续集成服务器上的settings.xml文件中。只有在构建机器上才可以防止其他人意外地创建版本。
我远离activeByDefault - 但 - 我能加密我用密码字段加入maven pw加密的内容吗? – 2012-03-14 08:18:48
你可以使用一些可以在maven-antrun-plugin帮助下调用的ant脚本来加密密码 – 2012-03-14 08:24:08