[英]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.