Apache Ant - 在文件集中包含父目录

Apache Ant - include parent directory in fileset

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

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

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

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

如何处理第二个包含?

遗憾的是,您不能使用一个文件集执行此操作,但您可以创建两个文件集,然后使用 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