Ant从一个zip文件中读取一个属性文件
问题描述:
有没有办法在ant中从zip文件中加载属性?Ant从一个zip文件中读取一个属性文件
我有一个项目的ant文件,它需要使用zip文件中的文件中的一些属性。该zip文件存储在我们的CI服务器上的已知位置。
/known location/file.zip
|
+--- properties/details.properties
下不起作用
<project name="test" basedir="." >
<property file="/known location/file.zip/properties/details.properties"/>
....
</project>
答
由于zip文件和jar文件基本相同,您可以使用property
任务的url
窗体,并使用jar
网址。
<property url="jar:file:/known location/file.zip!/properties/details.properties" />
注意jar:file:
在URL的前部,和从!/
的属性的路径分离的zip文件位置的文件的zip内。
有关jar:
url的语法的详细信息,请参阅JarURLConnection文档。
答
您可以将文件解压缩到一个临时位置,然后再加载解压的属性文件
<target name="load-zipped-props">
<unzip src="${propfile-name}.zip" dest="${unzip-destination}" />
<property file="${unzip-destination}/${propfile-name}.properties"/>
</target>
谢谢你。我只需要确保每个需要属性的目标都依赖于负载压缩道具目标。 – 2010-12-02 16:13:07
是的,你可能想要添加一些代码来删除解压缩的文件,如果它已经存在,在解压缩之前 – 2010-12-02 16:41:52