使用 ANT 列出 zip 条目
我想使用 ANT 列出 zip 文件(ear、war)的条目。 在我的耳朵、战争、jar 工件中,我将内部版本号保存在 META-INF/MANIFEST.MF 文件中。 我想创建一个 ANT 脚本来列出所有工件及其各自的内部版本号,以便我可以识别不属于顶级工件内部版本号的工件。
I would like to list the entries of a zip file (ear, war) using ANT.
Within my ear, war, jar artifacts I keep the build number in META-INF/MANIFEST.MF file.
I would like to create an ANT script to list all the artifacts and their respective build number, so I can recognize artifacts which do not belong to the top artifact build number.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
经过长时间的调查……绝妙的任务似乎是最好的方法。
使用 Groovy ANT 任务 将 Groovy 脚本集成到您的 ANT 构建中。
在 groovy 中,遍历文件系统和 zip 文件很容易。它还可以通过 ant 绑定 (AntBuilder) 访问托管 ANT 项目。
注意:建议使用 JarInputStream 遍历 zip 文件,因为它可以循环所有条目,并且如果需要,它可以获取 Manifest。
要遍历内部 jar 文件(例如 war 中的 jar 或 Ear 中的 war),请使用 read() 方法将当前条目读取到新的 JarInputStream 对象中。
After long investigation... groovy task seems like the best way.
use Groovy ANT Task to integrate a groovy script into your ANT build.
in groovy it's easy to traverse file system and also zip files. it can also access the hosting ANT project through ant binding (AntBuilder).
NOTE: it's advised to use JarInputStream to travers zip files, as it can loop on all entries, and it can get the Manifest if required.
To traverse an internal jar file (say jar within a war, or war within an ear), use the read() method to read the current entry into a new JarInputStream object.