2017-08-09 13 views
2

我們有多模塊環境,其中有很多poms使用衆多的依賴關係。如何查看哪個依賴項導致特定jar下載到maven的存儲庫

1)如何查看我們的pom中哪個依賴項導致特定的jar下載到版本庫中。

例如:我在我所有的勁歌。但一些依賴包括在POM的是下載舊的瓶子進入我的回購協議,我需要做avoid.I mvn dependency:tree但這並沒有幫助我的commons-lang3。 因爲我的應用程序是一個龐然大物,所以它很難去查看包含的所有依賴關係。

有其中包括依賴任何方法,我們可以檢查導致舊的 版本的jar的下載

任何一個誰可以提供一些線索,將不勝感激。

感謝 普利文

+0

如果您使用Netbeans,則可以將鼠標懸停在項目中Dependencies文件夾中的依賴項(jar)上。它會告訴你像groupId,artifactId這些罐子的細節,如果他們來自其他模塊,它也會顯示給你在「via:...」 – OutOfMind

回答

1
  1. 如果你想知道在哪裏依賴的來源,使用dependency:tree。我不明白爲什麼它沒有幫助你。將結果轉儲到文本文件並搜索您感興趣的工件。然後,您將立即看到它們來自哪裏。
  2. 如果要設置給定依賴項的版本,請使用<dependencyManagement>將版本設置爲您喜歡的版本。

當然,您的本地存儲庫中存在依賴項,這些依賴項不依賴於您的項目,但依賴於Maven插件。

+0

嗨邁爾感謝我寫的回覆到一個文本文件。也許從我運行的依賴項的位置:樹可能是錯誤的,這導致了一個模糊的結果,這是不真實的,但會考慮你的inputs.And我很確定,我的本地存儲庫中沒有罐子我在建築之前每次都要清理m2。 –

1

這是一個有點瘋狂,你是對的,但我還是最經常使用:

mvn dependency:tree -Dverbose 

它甚至比瘋狂你提到的正常閱讀。但是,我確實認同JF Meier,將其傾倒到文本文件中是一種可行的方法。

您也可以搜索特定的東西:

mvn dependency:tree -Dverbose -Dincludes=project-c 

雖然我使用

mvn clean dependency:tree -DskipTest 

here解決另一個問題,當擁有這些,有時爲了得到一個更清潔的畫面。

+1

謝謝你將研究這個mvn依賴項:tree -Dverbose -Dincludes = project-c我將在這裏指定工件和組ID –

相關問題