2

我想遍历一个 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

谢谢!

4

2 回答 2

4

只需zipgroupfileset与 Ant Zip 任务一起使用

<zip destfile="out.jar">
    <zipgroupfileset dir="lib" includes="*.jar"/>
</zip>

这将展平所有包含的 jar 库的内容。

于 2009-03-21T15:53:30.677 回答
4

如果您无权访问ant-contrib Fortask,您可能最终必须定义您的自定义 Task来做您需要的事情......

如果你有ant1.6及以上,你也可以尝试subant(见大项目的新 Ant 1.6 功能):

如果您使用<subant>'sgenericantfile属性,它的工作方式类似于<antcall>在包含任务的同一构建文件中调用目标。
不像<antcall>,<subant>需要一个或一组目录,并且会为每个设置项目基目录的目录调用一次目标。

如果您想在任意数量的目录中执行完全相同的操作,这很有用。

于 2009-03-18T15:38:04.723 回答