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

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. YOLO: Real-Time Object Detection 遇到的问题

    YOLO: Real-Time Object Detection 官方介绍的方法安装好了yolo之后,然后使用命令: ./darknet detect cfg/yolov3.cfg yolov3.we ...

  2. K8S核心技术

    一.命令行工具Kubectl kubectl 是 Kubernetes 集群的命令行工具,通过 kubectl 能够对集群本身进行管理,并能 够在集群上进行容器化应用的安装部署 1.基本语法 kube ...

  3. 数据库系列:业内主流MySQL数据中间件梳理

    数据库系列:MySQL慢查询分析和性能优化 数据库系列:MySQL索引优化总结(综合版) 数据库系列:高并发下的数据字段变更 数据库系列:覆盖索引和规避回表 数据库系列:数据库高可用及无损扩容 数据库 ...

  4. SpringMVC中资源路径映射本地文件图片

    SpringMVC中资源路径映射本地文件图片 import org.springframework.context.annotation.Configuration; import org.sprin ...

  5. tomcat中文乱码怎么解决

    需要修改Tomcat根目录下面的"logging.properties"文件,把所有的encoding=UTF-8的改成encodng=GBK,保存之后,重启Tomcat服务器,就 ...

  6. 【云原生 | Kubernetes 系列】—K8S部署RocketMQ集群(双主双从+同步模式)

    [云原生 | Kubernetes 系列]-K8S部署RocketMQ集群(双主双从+同步模式) 版权 本文为云录原创文章,转载无需和我联系,但请注明来自云录 https://www.yunzhuan ...

  7. H3C 存储换盘操作

    实际存储型号H3C CF8844 环境说明:H3C存储设备存在一个坏盘需要更换. 更换准备 1. 取出备件检查完毕后放置到安全场所(请严格按照<IT产品现场工程师通用服务规(维修篇)>操作 ...

  8. libGDX游戏开发之修改游戏帧数FPS(十三)

    libGDX游戏开发之修改游戏帧数FPS(十三) libGDX系列,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm-国内用libgdx比较少,多数情况需要去官网 ...

  9. [ACTF2020 新生赛]Exec 1

    [ACTF2020 新生赛]Exec 1 审题 发现题目有ping功能,猜测是命令执行漏洞. 知识点 linux系统命令 解题 先ping127.0.0.1,观察是否正常执行. 发现正常后执行ls / ...

  10. 全网最全的华为ensp数通设备命令全集

    [命令] display history-command [视图]所有视图 [参数]无 [描述] display history-command 命令用来显示当 前用户曾键入的最后 10 条命令.用户 ...