2011-05-22 197 views
1

嗨 我想知道是否有人知道一種方法來命令首先調用哪些依賴項。我遇到的問題是我包含geronimo jaxws spec 2.2,但javax.xml.ws.Service的jre版本正在被拾取而不是依賴版本。我試圖把依賴首先放在依賴列表上,並試圖依賴管理沒有成功(也許我錯了)。在日食中,我可以告訴它首先在Maven依賴關係中拾取罐子,但我不知道如何在maven中執行此操作。Maven依賴項排序

非常感謝。

+0

你是否遇到過這個問題?與jdk相比,你不能給予依賴jar更高的優先級。 gernonimo jaxws已經引發了一個類似的bug,他們通過向jar的元數據添加新的屬性來解決這個問題。請點擊鏈接瞭解更多信息https://issues.apache.org/jira/browse/AXIS2-4927 – Prabhjot 2011-05-22 13:35:42

+0

乾杯感謝 - 將相關的geronimo jars放入認可的董事會解決了問題。看起來geronimo傢伙正在努力。我認爲它也適用於jaxb罐子。 – JanusFox81 2011-05-24 08:03:26

回答

1

我不認爲你可以以你想要的方式在maven中定義依賴關係。您將不得不使用java import語句來選擇要使用的服務。

幫助診斷這類問題的一個技巧是使用:mvn dependency:tree。這至少會確認您的Geronimo依賴關係正在被正確引入。

+0

感謝您的回覆。問題在於它將是java-javax.xml.ws.Service中的相同包簽名。它由依賴項和jre導入。依賴是一個更新的版本,但jre版本被拿起來代替。 – JanusFox81 2011-05-23 17:11:00

+0

我無法弄清楚如何在maven中做到這一點,但目前我正在使用的一種可能的解決方案是將所需的jar放入jre/lib/endorsed目錄(如果它不存在,則創建背書目錄)。 jaxws和jaxb jar進入了Java 6,而不是Java 5的版本。無論您定義的依賴關係是否更新,jre的版本都會被maven使用。將它們放入背書目錄將覆蓋jre版本。 – JanusFox81 2011-06-22 07:47:05