2012-03-14 35 views
0

当我想发布时,我如何让开发人员隐藏东西?在maven中发布时的私人构建信息(db等)?

例如 - 当发布的时候,我要创建一个休眠会话,其中包含不同的设置 - 在生活环境中运行的数据库的设置。

如何在maven-release期间指定这些内容,使其他人不可见?

我在想也许命令行建设时,设置某种属性?这通常是如何在企业场景中完成的?

回答

0

您可以为您的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> 
+0

我远离activeByDefault - 但 - 我能加密我用密码字段加入maven pw加密的内容吗? – 2012-03-14 08:18:48

+0

你可以使用一些可以在maven-antrun-plugin帮助下调用的ant脚本来加密密码 – 2012-03-14 08:24:08

0

事情是这样的密码等属于settings.xml的,而不是到pom.xml文件。此外,我会建议把这样的东西放到像Jenkins这样的连续集成服务器上的settings.xml文件中。只有在构建机器上才可以防止其他人意外地创建版本。