Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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
Java 从ant类路径中排除jar_Java_Maven_Ant_Classpath - Fatal编程技术网

Java 从ant类路径中排除jar

Java 从ant类路径中排除jar,java,maven,ant,classpath,Java,Maven,Ant,Classpath,我试图在一些使用ant脚本的遗留项目上建立一个“干净的maven”设置。我对ant了解不多,所以我的问题可能看起来很幼稚 我几乎完成了,但是由于类路径中的冗余,delivery ant脚本失败了。如果我理解构建,那么这些行应该将“提供的”范围内的每个库添加到类路径中: 然后这个: <path id="completecp"> <fileset dir="${ant.home}/lib"> <include name="*.jar" /&g

我试图在一些使用ant脚本的遗留项目上建立一个“干净的maven”设置。我对ant了解不多,所以我的问题可能看起来很幼稚

我几乎完成了,但是由于类路径中的冗余,delivery ant脚本失败了。如果我理解构建,那么这些行应该将“提供的”范围内的每个库添加到类路径中:


然后这个:

<path id="completecp">
    <fileset dir="${ant.home}/lib">
        <include name="*.jar" />
    </fileset>
    <path refid="dependency.classpath" />
</path>

将这些依赖项添加到ant.home目录中的libs中

问题是,我使用的maven pom依赖于无法修改的父pom,因此,在我的类路径中有三个不同版本的Ant:两个来自pom(1.5 et 1.7.1),一个来自Eclipse(1.8.2)。我尝试过(绝望地)添加一些maven排除,但失败得很惨

所以我想:也许有一种方法可以从Ant类路径中排除JAR。我试着把:

<exclude name="*ant\1.7.1\ant-1.7.1.jar"/>
<exclude name="*ant\1.5\ant-1.5.jar"/>


在文件集部分,但它不起作用。有没有排除这些冗余jar的方法?

尝试使用正斜杠而不是反斜杠,即

尝试以下方法:-

<exclude name="**/ant/1.7.1/ant-1.7.1.jar"/>
<exclude name="**/ant/1.5/ant-1.5.jar"/> 


尝试过,但没有成功,老蚂蚁仍然在类路径中。好吧,它没有解决我所有的问题,但它摆脱了类路径中的jar!谢谢!
<exclude name="**/ant/1.7.1/ant-1.7.1.jar"/>
<exclude name="**/ant/1.5/ant-1.5.jar"/>