根据Ant脚本中的环境动态替换属性

时间:2013-08-29 13:03:44

标签: ant

我想开发一个ant脚本,它将应用程序属性替换为特定于环境的属性。我的要求是我将在单个env.properties文件中包含所有环境属性。在构建应用程序期间,我需要替换env.properties文件中的任何内容。当我拥有每个环境的属性文件时,Ant替换效果很好。

示例:env.properties

dev.AddNETWORK_USER=devUser
dev.ADDPASS=devPass
sit.AddNETWORK_USER=situser
sit.ADDPASS=sitPass

这需要在mule.properties中替换为 对于DEV环境:

dev.AddNETWORK_USER=devUser
dev.ADDPASS=devPass

用于SIT环境:

AddNETWORK_USER=sitUser
ADDPASS=sitPass

1 个答案:

答案 0 :(得分:1)

您可以在env.properties文件中使用属性ant任务。这允许根据您的需要访问key = value对。您可以将特定于环境的属性重定向到所需的文件或写入一个特定文件。

 <property file="${base.dir}/env.properties"/>
    <for list="dev,sit" param="value">
         <sequential>
              <echo message="@{value}.AddNETWORK_USER=${@{value}.AddNETWORK_USER}" append="true" file="${base.dir}/@{value}Any-File.prop"/>
               <echo message="${line.separator}" append="true" file="${para.home}/@{value}Any-File.prop"/>
               <echo message="@{value}.ADDPASS=${@{value}.ADDPASS}" append="true" file="${para.home}/@{value}Any-File.prop"/>

           </sequential>
     </for>