使用股票蚂蚁,是否可以为文件列表中的每个元素使用 zipfileset?我正在寻找一种方法来指定我正在使用的 jar 列表,然后能够将其指定为类路径和部署在我自己的 jar 中的文件。
这是构建我的发布 jar 并包含所有类文件的最快方法,但它需要将每个 jar 指定为 zipfileset
<jar destfile="release.jar">
... my files ...
<zipfileset src="jar/exampleA.jar" includes="**/*.class"/>
<zipfileset src="jar/exampleB.jar" includes="**/*.class"/>
</jar>
我更喜欢这样指定它:
<filelist id="proj.jars" dir="jar">
<file id="exampleA" name="exampleA.jar"/>
<file id="exampleB" name="exampleB.jar"/>
</filelist>
<jar destfile="release.jar">
... my files ...
<!-- for each jar in proj.jars -->
<zipfileset src="${jar}" includes="**/*.class"/>
</jar>
我确实有一个可行的解决方案,但速度要慢得多(慢 4 或 5 倍)
<jar destfile="release.jar">
... my files ...
<restrict>
<name name="**/*.class"/>
<archives>
<zips>
<filelist refid="proj.jars"/>
</zips>
</archives>
</restrict>
</jar>
可以在此处找到相关问题,但使用 zipgroupfileset 并且不能用于从 zip 文件中排除文件。