我在ant中使用jar任务,希望排除某个目录。目录的结构类似于:
food
|_ fruits
|_ apples
|_ bananas(已被简化为通用的)
我有一个像这样的蚂蚁任务:
<jar destfile="Dest.jar">
...
<fileset dir="food">
<exclude name="**/bananas/" />
<exclude name="**/*Test*" />
<include name="**/*.class" />
</fileset>
...我想做的是:
work)
我尝试了几个通配符组合,试图排除香蕉目录,但没有效果。我也尝试重新排序包含和排除,虽然我不知道这是否有区别。我还尝试过其他几个没有完成这项工作的suggestions1。目前我的猜测是香蕉目录中有一些与"*.class“相匹配的文件,所以我认为它们的包含是防止香蕉被排除在外的。
注:我正在准确匹配香蕉目录的真名,所以区分大小写不应该是个问题。如果它可以使任务更简单,我可以将完整的路径引用到目录,尽管我更希望在ant任务中对重构更加友好。
如何排除已包含在ant文件集中的目录?
1
2
发布于 2010-07-18 22:14:54
我已经发现了问题的原因,这与蚂蚁任务的编写方式无关。
这个问题似乎与文件集包含和排除无关,而更多的是与jar文件是否实际被创建有关。在反复运行任务之后,并且总是对jar使用相同的目的地,创建的jar文件似乎没有替换现有的jar (正如我所假设的那样)。删除jar并重新运行ant任务产生了我期望的结果。
我不知道如果假设文件会被替换,我是否应该感到愚蠢,或者如果我觉得没有日志信息,我是对的,欢迎评论。总之问题解决了。
https://stackoverflow.com/questions/3277324
复制相似问题