如何抑制重复的ant jar警告
我不希望ant的jar任务在每次跳过文件时都通知我,因为文件已经添加。我得到了很多这样的信息:如何抑制重复的ant jar警告,ant,Ant,我不希望ant的jar任务在每次跳过文件时都通知我,因为文件已经添加。我得到了很多这样的信息: [jar] xml/dir1/dir2.dtd already added, skipping 是否有办法关闭此警告?我不知道上有任何选项可以抑制这些消息,除非您使用开关运行整个生成,在这种情况下,您可能看不到所需的其他信息 一般来说,如果你有很多重复的文件,最好是警告他们,因为可能会在你期望的文件中添加一个不同的文件。这可能表明构建的前一个目标没有完成它可能完成的工作,尽管显然没有更多细节是不可
[jar] xml/dir1/dir2.dtd already added, skipping
是否有办法关闭此警告?我不知道上有任何选项可以抑制这些消息,除非您使用开关运行整个生成,在这种情况下,您可能看不到所需的其他信息 一般来说,如果你有很多重复的文件,最好是警告他们,因为可能会在你期望的文件中添加一个不同的文件。这可能表明构建的前一个目标没有完成它可能完成的工作,尽管显然没有更多细节是不可能的
出于兴趣,为什么会有重复的文件?这是一个较老的问题,但有一种明显的方法可以排除重复警告,即不要包含重复的文件。您可以通过以下两种方式之一执行此操作:
<jar destfile="${dist}/lib/app.jar">
<fileset dir="a" include="xml/data/*.{xml,dtd}"/>
<fileset dir="b" include="xml/data/*.{xml,dtd}"/>
<fileset dir="c" include="xml/data/*.{xml,dtd}"/>
</jar>
执行以下操作之一:
<jar destfile="${dist}/lib/app.jar">
<fileset dir="a" include="xml/data/*.{xml,dtd}"/>
<fileset dir="b" include="xml/data/*.xml"/>
<fileset dir="c" include="xml/data/*.xml"/>
</jar>
或
编辑:根据对这个答案的评论,还有第三个选择,尽管这是一个相当多的工作。。。您始终可以将源代码获取到jar任务,并对其进行修改,使其不会打印出警告。您可以将此作为对树的本地修改,将其移动到另一个包中并自己维护,或者尝试将修补程序推回到上游。在创建jar时,我将几个XML文件目录压缩为一个。重复的是DTD。基本上:/xml/data/{xml,dtd}->data.jar(jar中命名为xml/data/*.xml的文件)/xml/params/{xml,dtd}->params.jar(jar中命名为xml/params/*.xml的文件)我正在修补一个已经这样做的现有系统,我需要尽可能保留相同的结构。我只需要用ant而不是可怕的自定义代码来构建它。结果不正确-在/xml/data和/xml/params之前读一个星号,你就会得到我键入的内容。:)我绝对不想要任何集结地。我现在正试图摆脱太多的集结地。
<copy todir="tmpdir">
<fileset dir="a" include="xml/data/*.{xml,dtd}"/>
<fileset dir="b" include="xml/data/*.{xml,dtd}"/>
<fileset dir="c" include="xml/data/*.{xml,dtd}"/>
</copy>
<jar destfile="${dist}/lib/app.jar">
<fileset dir="tmpdir" include="xml/data/*.{xml,dtd}"/>
</jar>
<delete dir="tmpdir"/>