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

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. 自定义一个简单的SpringBoot-Starter

    1.创建一个简单的maven项目 2.导入相关依赖 <dependencies> <!--核心场景启动器,包含Spring的核心功能--> <dependency> ...

  2. CSP_J

  3. ElasticSearch之虚拟内存

    查看当前Linux系统中vm.max_map_count变量的值,命令如下: sysctl vm.max_map_count 执行结果的样例,如下: vm.max_map_count = 65530 ...

  4. [BUG]自定义登录引发的配置加载问题-bugspringsecurity

    title: [BUG]自定义登录引发的配置加载问题 date: 2021-12-10 16:43:36.311 updated: 2021-12-27 19:10:16.773 url: https ...

  5. 如何用python脚本制作生成CANdbc

    最近在工作中,有同事拿了一个excel的dbc表格,在用官方的dbc工具一个一个创建信号,大概看了一下共累计20多个节点,300多个信号,居然在手动处理,顿感无语.. 于是在网络上搜相关的dbc 通过 ...

  6. OpenSSL命令总结

    OpenSSL命令总结 疑今者察之古,不知来者视之往. 导航 介绍 对称加密 公钥加密 信息摘要 数字证书 杂项 介绍 密码学标准和互联网协议一样,是一种大家都遵守的约定和标准,比如PKCS#1中规定 ...

  7. 用Linux搭建网站(LAMP)

    安装环境 演示服务器版本为CentOS 8 安装apache 下载apache yum install httpd httpd-devel 启动apache服务器 systemctl start ht ...

  8. PostgreSQL常用运维SQL

    一.数据库连接 1.获取数据库实例连接数 select count(*) from pg_stat_activity; 2.获取数据库最大连接数 show max_connections 3.查询当前 ...

  9. 爬取Discuz!社区的教程标题

    爬取Discuz!社区的教程标题-史上最详细解析(实现分页) 摘要:本文记录了爬取Discuz!社区的教程标题的详细过程,过程清晰 这是O的第一篇博客,如有排版问题请大佬见谅,O非常希望大佬能在评论区 ...

  10. 超酷! Atlas给黑白视频“上色”

    摘要:随着人工智能技术发展,AI已经能够为黑白的老视频 "上色",重现昔日的情景,让黑白图像变得栩栩如生. 怎么样,是不是看起来题目跟昨天的博客名称差不多?昨天是图片,今天是视频. ...