我有一个带有一堆插件的源目录.每个插件都有自己的lib目录.我希望将每个lib目录的内容合并到lib我的构建中的单个目录中.理论上你会做这样的事情:
<copy todir="build/web/lib">
<fileset dir="web/plugins/*/lib/" includes="**/*" />
</copy>
Run Code Online (Sandbox Code Playgroud)
但是,当dir属性包含通配符时,Ant会阻塞.ant-contrib是唯一的选择吗,或者你可以用香草蚂蚁做这个吗?
扼流圈的消息是 build.xml:28: [...]/web/plugins/*/lib does not exist.
dir=文件集的属性不带通配符 - 因此您看到的错误.在这种情况下web/plugins,您需要指定一个目录,并为包含使用略微不同的通配符:
<copy todir="build/web/lib">
<fileset dir="web/plugins" includes="*/lib/**/*" />
</copy>
Run Code Online (Sandbox Code Playgroud)
如果您在复制时需要更改路径,则可以使用映射器,例如,flattenmapper将为您提供文件名,其中删除了所有前导目录信息.