2012-04-18 133 views
2

我試圖在一些使用ant腳本的遺留項目上設置「clean maven」安裝程序。我對螞蟻不太瞭解,所以我的問題可能顯得天真。從螞蟻類路徑中排除jar

我差不多完成了,但由於類路徑中存在冗餘,交付ant腳本失敗。如果我理解構建,這些行應該添加到類路徑的每個LIB在「規定」適用範圍:

<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> 

添加這些依賴於庫中的螞蟻.home目錄。

問題是,我使用的是一個依賴父pom的maven pom,我無法修改,因此,在我的classpath中有三個不同版本的Ant:兩個來自POM( 1.5和1.7.1)和一個來自Eclipse(1.8.2)。我試過(拼命!)添加一些maven排除,但失敗慘敗。

所以我想:也許有一種從螞蟻類路徑中排除jar的方法。我試過了:

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

在文件集部分,但它不起作用。有沒有辦法排除那些冗餘的jar?

回答

2

試試這個方法: -

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

嗯,它並沒有解決我所有的問題,但它在類路徑中除掉了那些jar!非常感謝 ! – Raveline 2012-04-18 09:01:04

0

嘗試使用正斜槓,而不是反斜槓,即

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

+0

嘗試過,但它沒有工作,老螞蟻仍在類路徑。 – Raveline 2012-04-18 08:41:09