2012-11-13 20 views
1

澄清:我使用Ivy而不是Maven,但我使用Maven存儲庫結構。Maven的依賴爲什麼org.woden.apachi:woden-api:1.0M8拉下ant.jar?

我有一個依賴於org.apache.axis2的jar:axis-kernel:1.5。根據我生成的Ivy Dependecy Report,axis2:axis-kernel:1.5依賴於woden-api:org.apache.woden,它依賴於org.apache.ant:ant:1.7。

我不是開發人員,但我會認爲ant.jar(和ant-launcher.jar)不應該是另一個jar的依賴項。即使是陌生人,我去Maven Org's Search並拉下了Woden-API的pom.xml,我甚至沒有看到pom.xml中的依賴部分。

那麼,這個對ant.jar的依賴來自哪裏呢?爲什麼我的依賴報告聲稱woden-api負責,如果我沒有在woden-api jar文件中看到它?

回答

2

如果仔細查看woden-apipom.xml,您會看到它的父親名爲woden。我想大多數項目不同部分所需的依賴關係在parent中有詳細說明。

這裏是從中提取:

<dependency> 
    <groupId>org.apache.ant</groupId> 
    <artifactId>ant</artifactId> 
    <version>1.7.0</version> 
</dependency> 

我不知道這是否是正確的或錯誤的依賴ant,但我知道很多其他文物依賴於它。

+1

我下載了源代碼。在'woden-api'源文件中沒有ant.jar的依賴。實際上,整個項目中唯一的依賴項是另一個子項目woden-ant中的幾個文件,它們構建Ant任務。這就說得通了。問題是主POM包含所有子項目的所有依賴關係,即使這些子項目不需要它們。這已經在版本1.0M9中進行了清理,我將它作爲ivy.xml文件中的參考,並查看是否阻止加載其他不需要的jar文件。 –