Java 从ant类路径中排除jar
我试图在一些使用ant脚本的遗留项目上建立一个“干净的maven”设置。我对ant了解不多,所以我的问题可能看起来很幼稚 我几乎完成了,但是由于类路径中的冗余,delivery ant脚本失败了。如果我理解构建,那么这些行应该将“提供的”范围内的每个库添加到类路径中: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
然后这个:
<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"/>