我想迭代一个jar列表(未定义的数字)并将它们全部添加到jar文件中。 要添加它们,我打算使用这样的东西:
<jar id="files" jarfile="all.jar">
<zipfileset src="first.jar" includes="**/*.java **/*.class"/>
<zipfileset src="second.jar" includes="**/*.java **/*.class"/>
</jar>
但我如何迭代它们?我没有ant-contrib
谢谢!
答案 0 :(得分:4)
如果您无法访问ant-contrib
For
task,则可能最终必须定义custom Task以执行您需要的操作...
如果您有ant1.6
及以上,还可以尝试subant
(请参阅New Ant 1.6 Features for Big Projects):
如果您使用
<subant>
的{{1}}属性,它的工作方式类似于genericantfile
在包含任务的同一构建文件中调用目标。
与<antcall>
不同,<antcall>
获取一个列表或一组目录,并将为设置项目基本目录的每个目录调用一次目标。如果要在任意数量的目录中执行完全相同的操作,这非常有用。
答案 1 :(得分:4)
只需将zipgroupfileset
与Ant Zip task
<zip destfile="out.jar">
<zipgroupfileset dir="lib" includes="*.jar"/>
</zip>
这将使所有包含的jar库内容变得扁平化。