2010-12-02 94 views
2

有没有办法在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> 

回答

1

由于zip文件和jar文件基本相同,您可以使用property任务的url窗体,并使用jar网址。

<property url="jar:file:/known location/file.zip!/properties/details.properties" /> 

注意jar:file:在URL的前部,和从!/的属性的路径分离的zip文件位置的文件的zip内。

有关jar: url的语法的详细信息,请参阅JarURLConnection文档。

1

您可以将文件解压缩到一个临时位置,然后再加载解压的属性文件

<target name="load-zipped-props"> 
    <unzip src="${propfile-name}.zip" dest="${unzip-destination}" /> 
    <property file="${unzip-destination}/${propfile-name}.properties"/> 
</target> 
+0

谢谢你。我只需要确保每个需要属性的目标都依赖于负载压缩道具目标。 – 2010-12-02 16:13:07

+0

是的,你可能想要添加一些代码来删除解压缩的文件,如果它已经存在,在解压缩之前 – 2010-12-02 16:41:52

相关问题