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.mzph.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{…