Maven插件之 maven-dependency-plugin 分析依賴復制文件

目錄

      • 插件簡介
      • 使用示例
        • 配置依賴:
        • 執行 ```mvn dependency:analyze```
        • 輸出結果:
      • 結尾

插件簡介

Apache Maven Dependency Plugin是Apache Maven構建工具的一個插件,用于管理項目的依賴項。
該插件提供了一系列目標(goals),可用于解決和處理項目的依賴關系。以下是一些常用的目標及其功能:

  • dependency:copy:將項目依賴的文件復制到指定的目錄。
  • dependency:tree:以樹形結構打印項目依賴關系,顯示依賴樹。
  • dependency:resolve:解析并下載項目的依賴項。
  • dependency:list:列出項目的所有依賴項。
  • dependency:analyze:分析項目依賴項,檢查沖突和潛在的問題。

通過使用這些目標,開發人員可以更好地管理項目的依賴項,確保正確的依賴關系,并根據需要進行復制、解析和分析。

使用Apache Maven Dependency Plugin可以減少手動處理依賴項的工作量,并提供了一種標準化和自動化的方式來管理項目的依賴關系。它是Maven生態系統中非常重要和常用的插件之一。

使用示例

以使用 goals analyze 為例,用它來分析項目中的依賴是否使用了,可以通過它的結果來排除一些未使用的依賴,達到減少沖突和精簡項目的效果:

配置依賴:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>3.1.1</version><executions><execution><id>analyze</id><goals><goal>analyze</goal></goals><configuration><failOnWarning>true</failOnWarning></configuration></execution></executions>
</plugin>
執行 mvn dependency:analyze
輸出結果:

Used undeclared dependencies found:
Unused declared dependencies found:

[INFO] <<< maven-dependency-plugin:3.1.1:analyze (default-cli) < test-compile @ test-app <<<
[INFO]
[INFO] --- maven-dependency-plugin:3.1.1:analyze (default-cli) @ test-app ---
[WARNING] Used undeclared dependencies found:
[WARNING]    org.apache.httpcomponents:httpcore:jar:4.4.10:compile
[WARNING]    org.springframework:spring-web:jar:5.0.10.RELEASE:compile
[WARNING]    org.springframework:spring-test:jar:5.0.10.RELEASE:test
[WARNING]    org.apache.poi:poi-ooxml:jar:3.14-beta1:compile
[WARNING]    org.springframework:spring-jcl:jar:5.0.10.RELEASE:compile
[WARNING]    org.springframework:spring-core:jar:5.0.10.RELEASE:compile
[WARNING]    org.springframework.boot:spring-boot-autoconfigure:jar:2.0.6.RELEASE:compile
[WARNING]    org.springframework.boot:spring-boot-test:jar:2.0.6.RELEASE:test
[WARNING]    commons-lang:commons-lang:jar:2.3:compile
[WARNING]    javax.annotation:javax.annotation-api:jar:1.3.2:compile
[WARNING]    org.springframework:spring-aop:jar:5.0.10.RELEASE:compile
[WARNING]    org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile
[WARNING]    log4j:log4j:jar:1.2.14:compile
[WARNING]    com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[WARNING]    com.google.code.gson:gson:jar:2.8.5:compile
[WARNING]    org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
[WARNING]    commons-codec:commons-codec:jar:1.11:compile
[WARNING]    org.apache.commons:commons-pool2:jar:2.5.0:compile
[WARNING]    org.apache.poi:poi:jar:3.14-beta1:compile
[WARNING]    org.aspectj:aspectjweaver:jar:1.8.13:compile
[WARNING]    org.springframework:spring-beans:jar:5.0.10.RELEASE:compile
[WARNING]    org.apache.commons:commons-collections4:jar:4.1:compile
[WARNING]    com.fasterxml.jackson.core:jackson-core:jar:2.9.7:compile
[WARNING]    org.springframework:spring-tx:jar:5.0.10.RELEASE:compile
[WARNING]    com.dianping.cat:cat-client:jar:3.0.0:compile
[WARNING]    org.mybatis:mybatis:jar:3.5.1:compile
[WARNING]    commons-collections:commons-collections:jar:3.2.2:compile
[WARNING]    junit:junit:jar:4.12:compile
[WARNING]    org.slf4j:slf4j-api:jar:1.7.25:compile
[WARNING]    org.springframework:spring-jdbc:jar:5.0.10.RELEASE:compile
[WARNING]    org.springframework.boot:spring-boot:jar:2.0.6.RELEASE:compile
[WARNING]    org.springframework:spring-context:jar:5.0.10.RELEASE:compile
[WARNING]    org.springframework.data:spring-data-redis:jar:2.0.11.RELEASE:compile
[WARNING]    org.springframework:spring-context-support:jar:5.0.10.RELEASE:compile
[WARNING] Unused declared dependencies found:
[WARNING]    org.springframework.boot:spring-boot-starter-web:jar:2.0.6.RELEASE:compile
[WARNING]    org.springframework.boot:spring-boot-starter-jdbc:jar:2.0.6.RELEASE:compile
[WARNING]    org.springframework.boot:spring-boot-starter-data-redis:jar:2.0.6.RELEASE:compile
[WARNING]    org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:2.0.1:compile
[WARNING]    org.springframework.boot:spring-boot-starter-aop:jar:2.0.6.RELEASE:compile
[WARNING]    org.springframework.boot:spring-boot-starter-tomcat:jar:2.0.6.RELEASE:provided
[WARNING]    org.springframework.boot:spring-boot-starter-test:jar:2.0.6.RELEASE:test
[WARNING]    mysql:mysql-connector-java:jar:5.1.18:compile
[WARNING]    com.jayway.jsonpath:json-path:jar:0.9.0:test
[WARNING]    org.apache.commons:commons-dbcp2:jar:2.6.0:compile
[WARNING]    org.apache.directory.studio:org.apache.commons.codec:jar:1.8:compile
[WARNING]    org.elasticsearch:elasticsearch:jar:1.5.2:compile
[WARNING]    com.101tec:zkclient:jar:0.4:compile
[WARNING]    org.quartz-scheduler:quartz-jobs:jar:2.2.1:compile
[WARNING]    com.squareup.okhttp3:okhttp:jar:3.7.0:compile
[WARNING]    com.jcraft:jsch:jar:0.1.49:compile
[WARNING]    org.apache.poi:poi-examples:jar:3.14-beta1:compile
[WARNING]    biz.paluch.logging:logstash-gelf:jar:1.12.0:compile
[WARNING]    com.google.code.findbugs:jsr305:jar:3.0.2:compile

結尾

本文只是以使用 analyze 使用為例做了介紹,有時也會使用到 copy 的場景,有些內容在 build 時需要將文件 copy 到指定目錄,那么用它就非常方便了。

其它的使用,大家一起來探索吧,也歡迎大家一起分享你們的使用場景和使用方式。

更多的使用方式可以在官網探索:maven 插件 之 maven-dependency-plugin

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714425.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714425.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714425.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux: shm_xx系列函數使用詳解

目錄 一、shmget/shmctl/shmat/shmdt函數1、shmget2、shmctl3、shmat4、shmdt5、補充&#xff1a;ftok函數6、示例代碼 二、shm_open/shm_unlink函數1、shm_open2、shm_unlink3、示例代碼 三、課外閱讀 一、shmget/shmctl/shmat/shmdt函數 shm_xx系列函數是用于操作共享內存的一…

SpringBoot整合JdbcTemplate

?作者簡介:大家好,我是Leo,熱愛Java后端開發者,一個想要與大家共同進步的男人???? ??個人主頁:Leo的博客 ??當前專欄: 循序漸進學SpringBoot ?特色專欄: MySQL學習 ??本文內容:SpringBoot整合JdbcTemplate ??個人知識庫: Leo知識庫,歡迎大家訪問 目錄 …

設置文字之間的間距應該如何實現

設置文字之間的間距&#xff0c;通常指的是字母之間&#xff08;字符間距&#xff09;或單詞之間的間距。在CSS中&#xff0c;這可以通過letter-spacing和word-spacing屬性來實現。 字符間距&#xff08;letter-spacing&#xff09; letter-spacing屬性用于調整字符之間的間距…

【Git學習筆記】提交PR

step1 克隆一個倉庫 git clone .....step2 創建一個分支 (Creating a branch) # 創建并切換到本地新分支&#xff0c;分支的命名盡量簡潔&#xff0c;并與解決的問題相關 git checkout -b delete-unused-linkstep3 做出修改 (Make changes) step4 提交修改 # 保存本地修…

DDR5內存相比DDR4內存的優勢和區別?選擇哪一個服務器內存配置能避免丟包和延遲高?

根據幻獸帕魯服務器的實際案例分析&#xff0c;選擇合適的DDR4與DDR5內存大小以避免丟包和延遲高&#xff0c;需要考慮以下幾個方面&#xff1a; 性能與延遲&#xff1a;DDR5內存相比DDR4在傳輸速率、帶寬、工作電壓等方面都有顯著提升&#xff0c;但同時也伴隨著更高的延遲。D…

PostgreSQL開發與實戰(4)查詢性能Top SQL

作者&#xff1a;太陽 一、查詢當前正在運行的Top SQL 查詢當前正在運行的會話中耗時最長的Top SQL&#xff0c;where條件可按需修改SELECT pgsa.datname AS database_name, pgsa.usename AS user_name, pgsa.client_addr AS client_addr, pgsa.application_name AS applicat…

你知道什么是回調函數嗎?

c語言中的小小白-CSDN博客c語言中的小小白關注算法,c,c語言,貪心算法,鏈表,mysql,動態規劃,后端,線性回歸,數據結構,排序算法領域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 給大家分享一句我很喜歡我話&#xff1a; 知不足而奮進&#xff0c;望遠山而前行&am…

Unity3D外包 北京動點軟件:基于U3D開發自動駕駛技術分析

在Unity3D中開發自動駕駛AI是一個充滿挑戰和潛力的領域。以下是一些關鍵步驟和考慮因素&#xff1a; 來百度APP暢享高清圖片 1. 創建虛擬環境&#xff1a; 使用Unity3D創建一個逼真的虛擬環境&#xff0c;模擬現實世界的道路、交通標志、車輛和障礙物等。 確保場景具有真實的…

4款免費且實用的.NET反編譯工具

.NET 反編譯工具的作用 .NET反編譯工具能夠將已經編譯好的.NET程序集轉換為易于理解的源代碼&#xff0c;它們可以幫助開發人員恢復丟失的源代碼、理解和分析第三方組件dll、學習其他人的代碼、更好的查找修復 bug 或進行逆向工程等&#xff08;注意&#xff1a;請在法律允許范…

【C++ 標準流,文件流】

C 標準流&#xff0c;文件流 ■ 標準輸入&#xff0c;輸出流&#xff0c;■ 文件流&#xff08;ofstream寫入&#xff0c;ifstream讀取&#xff0c;fstream創建-寫入-讀取&#xff09;■ open()■ ofstream■ ifstream■ 流插入<<■ 文件位置指針 ■ 標準輸入&#xff0c…

SpringBoot系列(一):SpringBoot介紹

SpringBoot系列(一)&#xff1a;SpringBoot介紹 1. SpringBoot介紹 SpringBoot是由Pivotal團隊提供的一套用于構建微服務的基礎框架&#xff0c;它旨在簡化Spring應用程序的創建和開發過程。 SpringBoot通過設計大量的自動化配置等方式來簡化Spring原有樣板化的配置&#xff…

用Visual Studio 2015成功編譯、發布UMDF驅動到目標機!!

開發工具&#xff1a;Visual Studio 2015企業版 主 機&#xff1a;windows10 X64企業版&#xff0c;主機是安裝了Visual Studio 2015的操作系統&#xff0c;主要進行驅動開發和調試。 目 標 機&#xff1a;windows10 X86企業版&#xff0c;目標機是安裝和調試驅動的操作…

阿里巴巴面試必備:數據庫集群知識全面解讀!

大家好,我是小米。今天,我們將深入探討阿里巴巴面試題中一個備受關注的話題:數據庫集群。作為技術領域中的一項重要實踐,數據庫集群不僅是企業架構中的核心組成部分,更是保障系統穩定性和數據可靠性的關鍵一環。讓我們一起來揭秘數據庫集群的奧秘吧! 主從復制過程 主從…

文件操作(超詳細版本)

本章重點 為什么使用文件什么是文件文件的打開和關閉文件的順序讀寫文件的隨機讀寫文件讀取結束的判定 為什么使用文件 我們前面學習結構體時&#xff0c;寫通訊錄的程序&#xff0c;當通訊錄運行起來的時候&#xff0c;可以給通訊錄中增加、刪除數 據&#xff0c;此時數據是…

手勢識別應用介紹

目錄 一、功能介紹 二、安裝部署說明 2.1 文件目錄說明 2.2 手勢識別部分 一、功能介紹 這是一個通過攝像頭捕獲手勢&#xff0c;根據不同的手勢來做出不同操作的計算機程序。目前可以識別9種手勢&#xff0c;可以根據識別到的手勢&#xff0c;進行打開應用、增大音量、減小音量…

[AIGC] 請舉例說明在運行時讀取注解的應用場景。

很高興你對于在運行時讀取注解的應用場景感興趣。以下是我為你整理的一些典型場景&#xff1a; 1. Spring框架 Spring框架廣泛地使用了運行時注解。例如Autowired注解&#xff0c;它可以在運行時實現依賴注入的功能。Spring在啟動時&#xff0c;會通過反射機制尋找到被Autowi…

mkfs.ext4 --- 對磁盤設備進行Ext4格式化

mkfs.ext4命令來自于英文詞組“make filesystem Ext4”的縮寫&#xff0c;其功能是用于對磁盤設備進行Ext4格式化的操作。 mkfs.ext4 參數-b block-size 塊大小&#xff08;1k,2k,4k&#xff09; -c 壞塊測試 -l filename從文件讀壞塊列表 -C cluster-size 簇大小 (大塊分配持性…

交友社交軟件開發-php交友聊天系統-

為了開發一個高效的交友系統&#xff0c;需要一個完善的信息管理和篩選機制。這個系統應該能夠根據用戶的個人信息、興趣愛好、價值觀等標準進行篩選&#xff0c;并向用戶提供符合他們要求心儀的人的信息。為了實現這個目標&#xff0c;系統可以利用人工智能技術&#xff0c;分…

MySQL基礎-----SQL語句之DDL語句

目錄 前言 開啟登錄數據庫 一、數據庫操作 1.查詢所有數據庫 2.切換使用數據庫 3.查詢當前使用的數據庫 4.創建數據庫 創建一個hello數據庫, 使用數據庫默認的字符集。 創建一個itheima數據庫&#xff0c;并且指定字符集 5.刪除數據庫 二、表操作 1.查詢當前數據庫所有…

JAVA的學習日記

JAVA的學習日記&#xff08;2024.3.1&#xff09;&#xff08;b站韓順平老師課程學習筆記版&#xff09; ps:撿起忘光光的Java語言 Sublime //1. public是公有&#xff0c;class是類 //2. public class Hello表示Hello是一個類&#xff0c;是一個public公有的類 //3. Hello{…