Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Ant中的引用路径中排除文件?_Ant - Fatal编程技术网

如何从Ant中的引用路径中排除文件?

如何从Ant中的引用路径中排除文件?,ant,Ant,在一个项目中,我们有几个源路径,因此我们为它们定义了一个参考路径: <path id="de.his.path.srcpath"> <pathelement path="${de.his.dir.src.qis.java}"/> <pathelement path="${de.his.dir.src.h1.java}"/> ... </path> ... 在标记中使用引用效果良好: 在下一步中,我们必须将非java

在一个项目中,我们有几个源路径,因此我们为它们定义了一个参考路径:

<path id="de.his.path.srcpath">
    <pathelement path="${de.his.dir.src.qis.java}"/>
    <pathelement path="${de.his.dir.src.h1.java}"/>
    ...
</path>

...
在标记中使用引用效果良好:


在下一步中,我们必须将非java文件复制到classpath文件夹:

<copy todir="${de.his.dir.bin.classes}" overwrite="true">
    <fileset refid="de.his.path.srcpath">
       <exclude name="**/*.java" />
    </fileset>
</copy>

不幸的是,这不起作用,因为“refid”和嵌套元素不能混合使用


是否有一种方法可以在源路径中获取一组所有非java文件,而无需将源路径列表复制到单个文件集中?

这里有一个选项。首先,使用该任务创建适合生成文件集的模式:

<pathconvert pathsep="/**/*,"
             refid="de.his.path.srcpath"
             property="my_fileset_pattern">
    <filtermapper>
        <replacestring from="${basedir}/" to="" />
    </filtermapper>
</pathconvert>
那么您的复制任务将是:

<copy todir="${de.his.dir.bin.classes}" overwrite="true" >
    <fileset refid="my_fileset" />
</copy>
<fileset dir="." id="my_fileset" includes="${my_fileset_pattern}/**/*" >
     <exclude name="**/*.java" />
</fileset>
<copy todir="${de.his.dir.bin.classes}" overwrite="true" >
    <fileset refid="my_fileset" />
</copy>
<property name="wildcard" value="${file.separator}**${file.separator}*" />