我有一個父項目包含一打子項目,其中一個子項目使用org.apache.httpcomponents:httpclient:jar:4.3.5
,這取決於org.apache.httpcomponents:httpcore:jar:4.3.2
。如何在Maven中調試工件替換
但是,結果版本httpcore
解析爲4.2.1而不是4.3.2。
下在Eclipse中檢查調試選項運行dependency:tree
時是輸出的提取:
...
[DEBUG] Using mirror nexus (http://192.168.0.111:8081/nexus/content/groups/public) for apache.snapshots (http://repository.apache.org/snapshots).
[DEBUG] testArtifact: artifact=org.apache.httpcomponents:httpclient:jar:4.3.5:compile
[DEBUG] includeArtifact: artifact=org.apache.httpcomponents:httpclient:jar:4.3.5:compile
[DEBUG] startProcessChildren: artifact=org.apache.httpcomponents:httpclient:jar:4.3.5:compile
[DEBUG] manageArtifactVersion: artifact=org.apache.httpcomponents:httpcore:jar:4.3.2:compile, replacement=org.apache.httpcomponents:httpcore:jar:4.2.1
[DEBUG] Using mirror nexus (http://192.168.0.111:8081/nexus/content/groups/public) for apache.snapshots (http://repository.apache.org/snapshots).
...
這只是表明replacement=org.apache.httpcomponents:httpcore:jar:4.2.1
,但它並不能說明更換的原因。父項目的pom.xml使用了相當多的依賴關係,儘管我可以嘗試逐個刪除這些依賴關係並檢查結果,但這會非常耗時。有沒有更有效的方法來調試工件替換?
Here幾乎是完整日誌dependency:tree
在Eclipse的檢查與調試選項。
您是否嘗試過'mvn dependency:tree'? – lexicore 2014-10-11 16:01:13
是的,上面的輸出來自於依賴關係:樹 – ysl 2014-10-11 16:04:13
您可以發佈完整的'mvn -X dependency:tree'日誌。 – lexicore 2014-10-11 16:14:59