2016-04-08 45 views
1

我遇到了一些構建舊的Mule 3.4.0項目的問題(我不想升級,如果在所有可能的)。具體來說,Maven的似乎無法解決這種依賴性:Maven構建錯誤 - Mule 3.4.0項目無法找到jaxen-1.1.1-osgi依賴

Failed to collect dependencies at org.mule.transports:mule-transport-vm:jar:3.4.0 -> org.mule.modules:mule-module-xml:jar:3.4.0 -> jaxen:jaxen:jar:1.1.1-osgi: Failed to read artifact descriptor for jaxen:jaxen:jar:1.1.1-osgi: Could not transfer artifact jaxen:jaxen:pom:1.1.1-osgi 

其實是有意見的關於這個問題的公平位在那裏(包括來自Codehaus的遷移幫助頁面),但由於2016年4月的,所有的有到目前爲止,讓我陷入死衚衕。

我已經搜遍了網頁,試圖找到這個jaxen-1.1.1-osgi依賴關係,並且無法在任何地方找到它(儘管您可以在整個地方找到非osgi 1.1.1)。

+0

看起來像防火牆/代理的一些問題? '不能轉移神器jaxen:jaxen:pom:1.1.1-osgi'?但這裏真正的問題是給定的工件不存在:http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22%20jaxen%22%20AND%20a%3A%22jaxen%22 %20AND%20v%3A%221.1.1-osgi%22 – khmarbaise

+0

我不認爲這是一個修復/答案(更多的是黑客),但我能夠通過手動去我的AnypointStudio目錄,定位這個jar文件(/ Users/ /Documents/AnypointStudio/plugins/org.mule.tooling.server.3.4.0_5.0.0.201412091416/mule/opt/jaxen-1.1.1-osgi.jar),然後手動安裝到我的本地repo使用這個命令:「mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile = jaxen-1.1.1-osgi.jar -DgroupId = jaxen -DartifactId = jaxen -Dversion = 1.1.1-osgi -Dpackaging = jar -DgeneratePom = true「 – Nick

回答

0

解決此問題的最佳方法是查看依賴關係的圖形。

您可以使用maven依賴插件從命令行執行此操作,但最好的可視化工具在NetBeans中。

安裝NetBeans之後,您只需打開導航到pom的項目,該項目打開maven項目(NetBeans本身理解Maven項目),然後在編輯器中打開pom文件並單擊Graph。

會告訴你的依賴和transitives的整個圖形,讓你甚至搜索爲一體,放大等

這會也爲您節省大量的時間試圖瞭解相關性衝突的時候。