2010-05-20 92 views
5

給定一個本地的倉庫,可以確定遠程倉庫是一個特定的依賴關係的來源?怎麼樣?如何確定給定的Maven依賴關係的來源?

+0

爲什麼你需要這樣的信息,快照? – 2010-05-20 20:21:19

+0

用於瀏覽源存儲庫中的POM文件並查看存儲庫是否包含依賴關係組中的所有依賴項。如果由於某種原因,Maven的不能在庫中找到的依賴是依賴組的成員,但它發現組中的所有其他依賴,將Maven的檢索來自不同庫中缺少的依賴? – 2010-05-20 20:39:08

回答

6

正如@Eugene所提到的,依賴關係的來源不存儲在任何地方,因此在事實之後(如果您不在公司存儲庫之後)發現它的唯一方法是清除給定的依賴關係項目並重新解決它們。該Maven Dependency Plugin以下目標可以這樣做:

mvn dependency:purge-local-repository -DreResolve=true 

注意reResolve被默認設置爲true,我剛纔提到它以作記錄。

+0

此命令是否僅下載依賴關係? – 2010-05-20 20:57:11

+0

@Derek:是的,它不會運行任何其他階段或目標。 – 2010-05-20 21:04:40

+0

我該如何告訴Maven抑制其中找不到依賴項的存儲庫的消息,同時顯示那些找到依賴項的消息? (也就是說,顯示命中,但不會錯過錯過的瑕疵並遮住命中。) – 2010-05-20 21:35:45

1

的Maven不存儲這些信息。但是,如果清除本地存儲庫並運行項目構建,則可以在Maven構建期間下載工件時看到實際的存儲庫URL。

然而,如果你使用Maven倉庫管理器,如Nexus,你可以通過它的ID,版本等搜索神器,然後看到神器源在搜索結果中。

1

你可以從你的本地庫中刪除的依賴,然後看看它從您的下一件拉。

+0

您可以使用什麼Maven命令來下載依賴關係,但是否則不會構建目標? – 2010-05-20 20:41:32