2012-08-30 45 views
0

解析傳遞依賴考慮下面的常春藤的依賴關係,常春藤不是從公共Maven的回購

<dependency org="org.fusesource.restygwt" name="restygwt" rev="1.3" 
conf="gwtcompile->default; compile->default"/> 

<dependency org="org.jboss.resteasy" name="resteasy-jaxrs" rev="2.3.4.Final" 
conf="compile->compile(*),runtime(*);runtime->runtime(*)"/> 

他們依賴於

HTTP鏡像公共Maven的回購協議:// myivyserver:8888 /鏡像/。

由ivysettings指定解析器鏈接到...

<url name="mirrored" m2compatible="true"> 
    <artifact 
    pattern="http://myivyserver:8888/mirrored/${maven2.artifact.pattern}" /> 
</url> 

我在哪裏可以看到鏡像目錄完全複製遠程Maven回購文物。

我習慣了Maven,看到Eclipse上的構建路徑,顯示了maven依賴關係。

現在,我正在爲項目創建Ivy依賴項。我期待看到類似的Ivy依賴關係節點,它顯示了Ivy eclipse插件引起的所有罐子。

但是,eclipse構建路徑中的Ivy依賴節點不顯示由鏡像poms傳遞指定的任何jar。

例如,

<dependency org="org.fusesource.restygwt" name="restygwt" rev="1.3" 
conf="gwtcompile->default; compile->default"/> 

<dependency org="org.jboss.resteasy" name="resteasy-jaxrs" rev="2.3.4.Final" 
conf="compile->compile(*),runtime(*);runtime->runtime(*)"/> 

既依賴POM指定上javax.ws.rs依賴性(JSR311-API)

<dependency> 
    <groupId>javax.ws.rs</groupId> 
    <artifactId>jsr311-api</artifactId> 
    <version>1.1</version> 
    <scope>provided</scope> 
</dependency> 

然而javax.ws.rs(JSR311-API)確實沒有出現在常春藤託管項目的構建路徑庫中,就像Maven管理的項目那樣。

我還需要做些什麼才能讓常青藤插件解決maven poms引起的傳遞依賴關係?

謝謝。

回答

1

URL解析器認爲maven佈局但不是pom依賴關係。當我實現這個功能時,ibiblio解析器能夠解析pom的依賴關係。

http://ant.apache.org/ivy/history/latest-milestone/resolver/ibiblio.html 
<ibiblio name="maven2" m2compatible="true" root="http://myivyserver:8888/mirrored"> 

我還沒有使用它,因爲我偏好非傳遞依賴關係,所以我完成了使用純粹的url解析器。