讓我們說,ArtifactA取決於ArtifactB和ArtifactC還取決於ArtifactBMaven的:如何找到它依賴於另一個神器神器
據我所知,「MVN依賴插件」可以幫助列出一個項目/工件的依賴關係。
但是相反呢?如果我想找到取決於給定神器的項目/工件列表? 從上面的例子中,給出神器B,我想得到神器A和神器C
我該怎麼做到這一點?
讓我們說,ArtifactA取決於ArtifactB和ArtifactC還取決於ArtifactBMaven的:如何找到它依賴於另一個神器神器
據我所知,「MVN依賴插件」可以幫助列出一個項目/工件的依賴關係。
但是相反呢?如果我想找到取決於給定神器的項目/工件列表? 從上面的例子中,給出神器B,我想得到神器A和神器C
我該怎麼做到這一點?
Maven只能在當前項目上運行,因此它只能檢測從當前項目(或子模塊)到其他項目(包括當前項目的子模塊)之間的依賴關係。
所以你可以做的是搜索依賴於其他子模塊的具體子模塊:
mycompany:parent
/ \
mycompany:child1 mycompany:child2
/ / \
mycompany:grandchild1 mycompany:grandchild2 mycompany:grandchild3
這是你可以找到有依賴關係grandchild3所有子項目:
mvn validate -pl child2/grandchild3 -amd
這將運行當前項目中依賴孫子3的所有項目中的validate
階段。
這並不容易。一種選擇是使用m2eclipse,它具有一個稱爲類別搜索的功能。在maven存儲庫視圖中,右鍵單擊一個存儲庫並啓用完整索引。 然後導航>從maven打開類型 - 在那裏您可以查看所有基於java包約定的工件。
另一種選擇是基於JarAnalyzer開發自己的工具,它將接受JAR文件並搜索本地maven存儲庫,從JAR中查找滿足導入的包/類的最合適的工件。
實際上`mvn validate`很簡單,請參閱@Sean Patrick Floyd的答案 – tsayen 2016-01-29 10:30:04
[如何生成一個Maven項目的所有模塊之間的依賴關係圖?](https://stackoverflow.com/questions/4084669/how-to-generate-a-graph-of-the -verify-all-modules-of-maven-project) – 2018-01-23 14:33:07