【问题标题】:Apache Ant - include parent directory in filesetApache Ant - 在文件集中包含父目录
【发布时间】:2016-09-01 19:20:45
【问题描述】:

是否可以从定义的目录中包含父目录中的文件?

如果我用给定的目录定义一个文件集,比如说/home/user/workspace/src,是否可以包含一个文件,例如/home/user/anotherworkspace/src/MyJavaClass.java

这里是完整的示例,其中第一个包含存在于工作区中:

<fileset id="myfileset" dir="/home/user/workspace/src">
    <include name="util/MyUtilClass.java"/>
    <include name="/home/user/anotherworkspace/src/MyJavaClass.java"/>
</fileset>

如何处理第二个包含?

【问题讨论】:

  • 您不能,但您可以在单个路径元素中包含多个文件集,包括 &lt;javac&gt;&lt;src&gt; 元素。

标签: java ant fileset


【解决方案1】:

很遗憾,您不能使用一个文件集来执行此操作,但您可以创建两个文件集,然后使用 union 资源集合将它们合并。

<fileset id="myfileset1" dir="/home/user/workspace/src">
    <include name="util/MyUtilClass.java"/>
</fileset>

<fileset id="myfileset2" dir="/home/user/anotherworkspace/src">
    <include name="MyJavaClass.java"/>
</fileset>

<union id="myfileset">
    <resources refid="myfileset1" />
    <resources refid="myfileset2" />
</union>

之后你可以照常使用myfileset

【讨论】: