本文为博主原创,转载请注明出处:

1. mvn dependency:list ---- 列出项目的所有jar包

mvn dependency:list -Dverbose

  该命令可以列出项目依赖的所有jar包,-Dverbose参数会把被忽略的jar,即相同jar包的不同版本引入也列出来。

  输出示例:

2.mvn dependency:tree ---- 列出项目的包依赖树

mvn dependency:tree -Dverbose

  这个命令跟上一个命令的区别就是,这个命令的依赖,输出来是个树,更方便看依赖关系。

  输出示例:

2.1 查看某一个包的依赖树  

mvn dependency:tree -Dverbose -Dincludes=commons-collections

3. mvn dependency:analyze ---- 分析依赖并优化

mvn dependency:analyze -Dverbose

  mvn dependency:analyze命令可以分析当前项目的依赖,我们可以根据这个结果删除多余的依赖。

  其执行的结果如下:

[INFO] Used declared dependencies found:
[INFO] com.alibaba:fastjson:jar:1.2.73:compile
[INFO] org.hibernate:hibernate-validator:jar:5.3.6.Final:compile
[INFO] io.springfox:springfox-swagger2:jar:2.7.0:compile
[INFO] junit:junit:jar:4.12:test
[INFO] joda-time:joda-time:jar:2.9.9:compile
[WARNING] Used undeclared dependencies found:
[WARNING] io.springfox:springfox-spi:jar:2.7.0:compile
[WARNING] com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile
[WARNING] io.springfox:springfox-core:jar:2.7.0:compile
[WARNING] org.apache.commons:commons-lang3:jar:3.5:compile
[WARNING] org.slf4j:slf4j-api:jar:1.7.25:compile
[WARNING] org.springframework:spring-web:jar:4.3.16.RELEASE:compile
[WARNING] javax.validation:validation-api:jar:1.1.0.Final:compile
[WARNING] org.jasig.cas.client:cas-client-core:jar:3.3.3:compile
[WARNING] io.springfox:springfox-spring-web:jar:2.7.0:compile
[WARNING] net.logstash.logback:logstash-logback-encoder:jar:4.11:compile
[WARNING] org.springframework:spring-beans:jar:4.3.16.RELEASE:compile
[WARNING] Unused declared dependencies found:
[WARNING] org.apache.tomcat.embed:tomcat-embed-jasper:jar:8.5.29:provided
[WARNING] org.springframework.boot:spring-boot-starter-tomcat:jar:1.5.12.RELEASE:provided
[WARNING] org.projectlombok:lombok:jar:1.18.12:provided
[WARNING] org.springframework:spring-test:jar:4.3.16.RELEASE:test
[WARNING] org.springframework.boot:spring-boot-loader:jar:1.5.12.RELEASE:provided
[WARNING] io.springfox:springfox-swagger-ui:jar:2.7.0:compile
[INFO] ------------------------------------------------------------------------

  mvn dependency:analyze 的执行结果会将 pom 的依赖解析成三部分: Used declared dependencies、Used undeclared dependencies、Unused declared dependencies 三部分,可以根据 Unused declared dependencies 中的依赖进行优化;从pom中进行相应的删除,从而减少依赖;

  Used undeclared dependencies: 表示项目中使用到的,但是没有显示声明的依赖

  Unused declared dependencies: 表示项目中未使用的,但显示声明的依赖;可以进行删除

  Used declared dependencies:表示项目中使用且声明的依赖

4. mvn dependency:analyze-duplicate ---- 分析是否存在重复配置的依赖

mvn dependency:analyze-duplicate

  分析 pom 中是否存在重复配置的依赖:其执行结果如下:

maven 工程pom依赖优化及常用命令的更多相关文章

  1. Linux 系统基础优化和常用命令

    目录 Linux 系统基础优化和常用命令 软连接 tar解压命令 gzip命令 netstart命令 ps命令 kill命令 killall命令 SELinux功能 iptables防火墙 Linux ...

  2. 运维 07 Linux系统基础优化及常用命令

    Linux系统基础优化及常用命令   Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...

  3. Maven工程pom.xml文件秒变gradle工程的命令

    下面是一个maven工程,我想把它转成gradle项目,怎么办? 打开cmd命令行窗口,切换到你的maven工程的pom.xml文件所在目录,然后执行如下命令: gradle init --type ...

  4. Maven笔记之核心概念及常用命令

    Maven的核心概念 Maven是一款服务于java平台的自动化构建工具. 自动化构建工具还有:make->ant->maven->gradle       1.约定的目录  2.P ...

  5. Maven 工程 POM.XML文件最全详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  6. Tomcat性能优化及常用命令整理

    1汤姆猫性能优化 1.1连接参数 1.1.1默认连接配置 默认连接器采用阻塞式 IO,默认最大线程数为200,配置如下: <Connector port="8080" pro ...

  7. 导入Maven 工程pom.xml首行报错解决方法

    1.利用IDE导入一个Maven工程,但是pom.xml文件首行报错,发现是maven版本需要升级 2.在pom.xml文件 增加配置 <properties> <maven-jar ...

  8. maven工程pom.xml报Missing artifact net.sf.jasperreports:jasperreports:jar:6.2.0

    有时maven工程的pom.xml报以下类型错误: Description Resource Path Location TypeMissing artifact net.sf.jasperrepor ...

  9. 解决Eclipse里的Maven工程pom.xml文件报:web.xml is missing and <failOnMissingWebXml> is set to true错误

    打开eclipse准备进行开发时,发现项目上有个红星号,查看错误后发现报了一个:"web.xml is missing and <failOnMissingWebXml> is ...

  10. Maven 专题(七):常用命令

    mvn archetype:generate : 反向生成项目的骨架 mvn clean: 清除各个模块target目录及里面的内容 mvn compile: 静态编译,根据xx.java生成xx.c ...

随机推荐

  1. LR(0)分析法

    LR(0)是一种自底向上的语法分析方法.两个基本动作是移进和规约. 具体例子如下 已知文法G[E] (1) E→aА (2) E→bB (3) A→cА (4) A→d (5) B→cB (6) B→ ...

  2. JXNU acm选拔赛 涛神的城堡

    涛神的城堡 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submiss ...

  3. ASR项目实战-交付团队的分工

    对于通常的软件项目,参与角色,比如可以有用户,消费者,产品团队,研发团队(研发团队包括开发和测试),运营团队,运维团队,管理团队. 通常认为,用户,负责购买服务的群体,而消费者,负责使用业务的群体.这 ...

  4. IPTV SQM的项目总结

    本文于2015年底完成,发布在个人博客网站上,标题为<项目总结--纪念我参与过的IPTV SQM项目>. 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来. 时 ...

  5. 文心一言 VS 讯飞星火 VS chatgpt (41)-- 算法导论5.4 5题

    五.在大小为n的集合中,一个k字符串构成一个k排列的概率是多少?这个问题和生日悖论有什么关系? 文心一言: 在大小为n的集合中,一个k字符串构成一个k排列的概率是1/k!,这是由于排列的总数是k!,而 ...

  6. 云小课|MRS基础原理之Flink组件介绍

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Flink是一个批 ...

  7. 初识GaussDB(for Cassandra)

    摘要:GaussDB(for Cassandra)是一款基于华为自主研发的计算存储分离架构的分布式云数据库服务. "local quorum查询某个分区键的条数,每次查询,条数都不一样.&q ...

  8. 一文带你梳理Clang编译步骤及命令

    摘要: 本文简单介绍了Clang编译过程中涉及到的步骤和每个步骤的产物,并简单分析了部分影响预处理和编译成功的部分因素. 本文分享自华为云社区<Clang编译步骤及命令梳理>,作者:mai ...

  9. Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)

    ​ Unity3D 导出的apk进行混淆加固.保护与优化原理(防止反编译) 目录 前言: 准备资料: 正文: 1:打包一个带有签名的apk 2:对包进行反编译 3:使用ipaguard来对程序进行加固 ...

  10. DevSecOps 安全即代码基础指南

    在过去十年里我们见证了越来越多的企业开始或已经采用云技术,这也意味着云安全的重要性也越来越高.当谈及安全威胁,McKinsey 的一篇文章表明,云上大多数漏洞都是由于配置错误导致而非外部攻击造成底层云 ...