我在使用属性文件中的ant获取属性时出现问题。在我的build.xml中使用这样的简单目标,我想获得至少两个属性path1和path2。我希望有一个通用目标来获取这两个属性....以避免修改build.xml(只是添加一个新的prop)
有什么建议吗?提前致谢 !
build.xml:
<target name="TEST" description="test ant">
<property file="dependencies.properties"/>
<svn>
<export srcUrl="${path.prop}" destPath="${workspace}/rep/" />
</svn>
</target>
dependencies.properties:
path1.prop = /path/to/src1
path2.prop = /path/to/src2
答案 0 :(得分:1)
谢谢,它有效。 此外,您可以使用ant-contrib中的propertycopy从文件中获取其他属性。
dependencies.list=path1,path2
path1.prop1=val1
path1.prop2=val2
path2.prop1=val3
path2.prop2=val4
像这样:
<target name="main">
<property file="dependencies.properties"/>
<foreach list="${dependencies.list}" delimiter="," param="name" target="doExtract" inheritall="true"/>
</target>
<target name="doExtract">
<propertycopy name="prop1" from="${name}.prop1" silent="true"/>
<propertycopy name="prop2" from="${name}.prop2" silent="true"/>
<svn>
<export srcUrl="${prop1}" destPath="${workspace}/rep/"" />
</svn>
</target>
答案 1 :(得分:0)
您可以将路径设置写入单个属性中以逗号分隔的列表,并使用foreach loop