2

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

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

<artifact:dependencies pathid="dependency.classpath" scopes="provided">
    <pom file="./pom.xml"/>
</artifact:dependencies>

然后这个:

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

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

问题是,我正在使用一个依赖于我无法修改的父 pom 的 maven pom,因此,我的类路径中有三个不同版本的 Ant:两个来自 POM(1.5 和 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 ?

4

2 回答 2

2

试试这种方式: -

<exclude name="**/ant/1.7.1/ant-1.7.1.jar"/>
<exclude name="**/ant/1.5/ant-1.5.jar"/> 
于 2012-04-18T08:53:08.583 回答
0

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

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

于 2012-04-18T08:31:50.197 回答