有没有办法像这个问题的答案那样完成同样的任务
Ant unzip/unwar with the same directory name as the file name
但对于多个.war文件,不使用ant-contrib?我需要提取许多.war文件的二进制文件,这些文件构建在另一台服务器上并复制到运行ant的机器上,以便我可以在它们上运行findbugs。原因是模糊和政治,我无法控制它们,但我无法做的一件事是使用ant-contrib。我无法控制运行ant的服务器,并且必须获得许多批准才能要求安装软件。
据我所知,此代码将构建一个文件集,但假设只找到一个文件并提取该集合中的第一个名称。是否有非ant-contrib方法迭代集合,或者可能修改集合中的名称并将其传递给“mkdir”类型命令?我仍然需要访问每个.war文件名以传递给“unwar”。我是一个Ant初学者,但已编写其他脚本语言,如果需要,我可以在“sh”中拼凑一些东西,但我更愿意尽可能多地利用Ant工具集。
答案 0 :(得分:0)
ANT不是一种编程语言,因此没有本机循环机制。这就是像ant-contrib这样的扩展很受欢迎的原因。我个人强烈建议安装groovy扩展名。
在没有外部插件的情况下,可以使用的技巧是XSLT转换,它生成动态执行的ANT文件。示例在以下答案中给出:
最后你考虑过Javascript吗?所需的罐子捆绑在最新的JVM中。参见: