maven 工程pom依赖优化及常用命令

简介: maven 工程pom依赖优化及常用命令

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

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

mvn dependency:list -Dverbose

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

  输出示例:

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

1

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

目录
相关文章
|
19天前
|
Java Maven 容器
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
|
21天前
|
安全 Java Maven
优化Maven镜像配置:使用阿里云加速依赖下载
更新Maven镜像配置至关重要,尤其使用阿里云仓库时。在`settings.xml`中加入特定镜像配置可显著提升依赖下载速度。示例配置指定了阿里云镜像ID、替代表态仓库、安全的URL、默认布局及启用版本管理。需定位至用户目录下的`.m2/`文件夹编辑`settings.xml`,添加镜像信息后保存测试。若下载仍慢,考虑网络状况或备选镜像。多镜像设置时需注意避免冲突。
97 3
|
21天前
|
Java 测试技术 Maven
单元测试问题之在Maven项目中引入JUnit 5和Mockito的依赖如何解决
单元测试问题之在Maven项目中引入JUnit 5和Mockito的依赖如何解决
85 1
|
22天前
|
Java Maven
intellij idea如何查看项目maven依赖关系图
这篇文章介绍了如何在IntelliJ IDEA中查看项目的Maven依赖关系图,包括使用Maven工具栏和相关操作来展示和查看依赖细节。
|
22天前
|
Java Maven 开发者
"揭秘IDEA的神奇助手:Maven Helper插件,让你轻松驾驭复杂依赖,告别冲突噩梦!"
【8月更文挑战第20天】Maven Helper是一款提升Java开发者工作效率的IDEA插件,它能直观展示项目依赖关系并协助管理。主要功能包括依赖树视图、冲突检测与解决及依赖排除。安装简便,重启IDEA后即用。借助其“Dependencies”面板,开发者可以清晰了解依赖详情,快速定位并解决冲突问题,有效优化项目结构,提升开发效率。
43 0
|
15天前
|
Java Apache Maven
Maven 项目文档
本节介绍如何构建Maven项目文档,以C:/MVN目录下的`consumerBanking`为例。通过`mvn archetype:generate`命令快速搭建Java项目骨架。为避免`mvn site`执行时遇到`java.lang.NoClassDefFoundError`错误,需在`pom.xml`中加入或更新`maven-site-plugin`至3.3版本和`maven-project-info-reports-plugin`至2.7版本。
|
20天前
|
Java Maven
解决idea每次新建maven项目都需要重新配置maven的问题
解决idea每次新建maven项目都需要重新配置maven的问题
59 1
|
1天前
|
Java Apache Maven
Maven 项目文档
Maven 项目文档
|
13天前
|
Java Apache Maven
Maven 项目文档
Maven 项目文档
|
6天前
|
Java Apache Maven
Maven 项目文档
Maven 项目文档