Ant 构建工具提供了两个不同的任务<fileset/>
和<zipfileset/>
。
根据文档<zipfileset/>
允许我们从.zip文件中提取文件
如果我们使用src
属性。
我的问题是,如果我们使用dir
属性选择文件,那么<zipfileset/>
和<fileset/>
两者之间有什么区别?
例如
<zipfileset dir="conf/Gateway>
<include name="jndi.properties" />
</zipfileset>
and
<fileset dir="conf/Gateway>
<include name="jndi.properties" />
</fileset>
最佳答案
如果要构建归档文件(例如ZIP或WAR或JAR),则这两个任务之间的一个有用区别是zipfileset
具有prefix
属性,您可以使用该属性将给定文件重定位到归档文件中的其他文件夹中。例如,如果以下内容包含在更大的fileset
和zipfileset
元素集中:
<zipfileset dir="conf/Gateway" prefix="properties">
<include name="jndi.properties" />
</zipfileset>
那么文件
conf/Gateway/jndi.properties
实际上将作为conf/Gateway/properties/jndi.properties
包含在输出中。您可以通过其他方式达到相同的目的,但这有时很有用。否则,只需使用看起来最适合手头任务的任务即可。