![](/img/trans.png)
[英]Maven: Include dependencies from pom.xml located in one of the dependencies
[英]Is there a simple way to remove unused dependencies from a maven pom.xml?
我有一個包含許多模塊和許多pom.xml
文件的大型 Maven 項目。 該項目已更改,我懷疑 pom 包含一些不必要的依賴項。 是否有一個命令可以從 pom 中刪除任何未使用的依賴項?
Maven Dependency Plugin會有所幫助,尤其是dependency:analyze
目標:
dependency:analyze
分析此項目的依賴關系,並確定哪些是:已使用和已聲明; 已使用和未申報; 未使用並已聲明。
另一件可能有助於清理的事情是來自Maven Project Info Reports Plugin的Dependency Convergence 報告。
您可以使用dependency:analyze -DignoreNonCompile
這將打印使用的未聲明和未使用的聲明依賴項列表(同時忽略runtime
/ provided
/ test
/ system
范圍以進行未使用的依賴項分析。)
runtime
使用的一些庫被認為是未使用的 **正如其他人所說,您可以使用dependency:analyze目標來查找已使用和已聲明、已使用和未聲明或未使用並已聲明的依賴項。 您可能還會發現dependency:analyze-dep-mgt在您的 dependencyManagement 部分中查找不匹配時很有用。
你可以簡單地從你的POM中刪除不需要直接依賴關系,但如果他們是由第三方罐子介紹,您可以使用<exclusions>
標簽的依賴排除第三方jar文件(請參見標題依賴排除對細節的部分,一些討論)。 這是一個從 Spring 依賴項中排除 commons-logging 的示例:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.5</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
你看過Maven Dependency Plugin嗎? 這不會為您刪除內容,但具有允許您自己進行分析的工具。 我特別想
mvn dependency:tree
我遇到了類似的問題,並決定編寫一個腳本來為我刪除依賴項。 使用它,我很容易地消除了一半以上的依賴項。
http://samulisiivonen.blogspot.com/2012/01/cleanin-up-maven-dependencies.html
如果您使用的是 Eclipse,請右鍵單擊 Maven Dependencies 中的 jar:選擇 Maven -> Exclude Maven Artifact...
您可以使用 DepClean https://github.com/castor-software/depclean/
DepClean 是一種工具,用於自動刪除包含在 Java 依賴項樹中但實際上並未在項目代碼中使用的依賴項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.