如何使Ant INCLUDE文件集优先于EXCLUDE

use*_*762 9 ant include fileset

如果我有这样的文件集:

<fileset dir=".">
  <exclude name="classes/*"/>
  <include name="**/zar.class"/>   
</fileset>
Run Code Online (Sandbox Code Playgroud)

排除优先于include,我不会以任何类结束.[因为对于这个假设的例子,zar.class在类dir中]我想包含zar文件,即使它在类dir中.

我暂时对抗这个问题,阅读有关选择器,模式集,文件集,尝试组合文件集等但无法使其正常工作.

有人知道怎么做吗?

Von*_*onC 5

为什么需要排除元素?

<fileset dir=".">
  <include name="**/zar.class"/>   
</fileset>
Run Code Online (Sandbox Code Playgroud)

应该给你你想要的确切文件集:zar.class,并且没有.classclasses/中的其他文件。


只需将其置于社区 wiki 模式中即可,因为再想一想,我不确定这实际上是您所追求的:
您可能想要一切,包括classes/.../zar.class,除了classes/...。

我的解决方案只会给你 zar.class。

请发表评论:如果这不是一个好的解决方案,我将删除它。


Bri*_*her 2

我不确定你到底想要什么,但我认为你在看模式集时走在正确的轨道上:怎么样:

<patternset id="a">
  <exclude name="classes/*"/>
</patternset>

<patternset id="b">
  <include name="**/zar.class"/>  
</patternset>

<fileset dir=".">
  <patternset refid="a" />
  <patternset refid="b" />
</fileset>
Run Code Online (Sandbox Code Playgroud)