繁体   English   中英

你可以在不使用ant-contrib的foreach的情况下做这个看似简单的Ant复制任务吗?

[英]can you do this seemingly simple Ant copy task without using ant-contrib's foreach?

我有一个带有一堆插件的源目录。 每个插件都有自己的lib目录。 我希望每个lib目录的内容合并到我的构建中的单个lib目录中。 理论上你会做这样的事情:

<copy todir="build/web/lib">
    <fileset dir="web/plugins/*/lib/" includes="**/*" />
</copy>

但是,当dir属性包含通配符时,Ant会阻塞。 ant-contrib是唯一的选择吗,或者你可以用香草蚂蚁做这个吗?

choke消息是build.xml:28: [...]/web/plugins/*/lib does not exist.

文件集的dir=属性不带通配符 - 因此您看到的错误。 您需要指定一个目录,在本例中为web/plugins ,并为包含使用略微不同的通配符:

<copy todir="build/web/lib">
    <fileset dir="web/plugins" includes="*/lib/**/*" />
</copy>

如果在复制时需要更改路径,则可以使用映射器 ,例如flattenmapper将为您提供文件名,其中删除了所有前导目录信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM