代码之家  ›  专栏  ›  技术社区  ›  Grundlefleck anujkk

如何排除已包含在Ant文件集中的目录?

  •  2
  • Grundlefleck anujkk  · 技术社区  · 14 年前

    jar 任务并希望排除某个目录。目录的结构类似于:

    food
     |_ fruits
         |_ apples
         |_ bananas
    

    我有一个蚂蚁任务:

    <jar destfile="Dest.jar">
        ...
        <fileset dir="food">
                <exclude name="**/bananas/" />
                <exclude name="**/*Test*" />
                <include name="**/*.class" />
        </fileset>
        ...
    

    • 排除文件名中包含“Test”的所有文件(此操作有效)
    • 排除名为“bananas”的整个目录( 这不管用

    我尝试了几种通配符的组合来排除bananas目录,但没有效果。我也尝试过对include和excludes重新排序,不过我不知道这是否有什么不同。我还尝试了其他一些建议[1][2],但都没有奏效。我目前的猜测是,在bananas目录中,有匹配“*.class”的文件,所以我认为它们的包含可以防止bananas被排除在外。

    注:我匹配的香蕉目录的真实名称准确,所以大小写敏感不应该是一个问题。如果它能使任务更简单,我可以引用目录的完整路径,尽管我更希望在ant任务中对重构更友好一些。


    [1] http://www.velocityreviews.com/forums/t146608-in-ant-how-do-you-exclude-a-directory-from-copy-or-zip.html
    http://www.java2s.com/Tutorial/Java/0520__Ant/filesetwithexclude.htm

    1 回复  |  直到 14 年前
        1
  •  2
  •   Grundlefleck anujkk    14 年前

    我已经发现了问题的原因,这与ant任务的编写方式无关。

    我不知道我是否应该觉得愚蠢的假设文件将被替换,或者如果我觉得委屈没有日志消息,欢迎评论。总之,问题解决了。