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

maven,工程,pom,依赖,优化,常用命令 · 浏览次数 : 165

小编点评

**文章来源:** 1. mvn dependency:list ---- 列出项目的所有jar包 2. mvn dependency:tree ---- 列出项目的包依赖树 2.1 查看某一个包的依赖树 2.2 分析依赖并优化mvn dependency:analyze 3. 使用declared dependencies进行优化

正文

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

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

3mvn 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:表示项目中使用且声明的依赖

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

mvn dependency:analyze-duplicate

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

 

与maven 工程pom依赖优化及常用命令相似的内容:

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

本文为博主原创,转载请注明出处: 1. mvn dependency:list 列出项目的所有jar包 mvn dependency:list -Dverbose 该命令可以列出项目依赖的所有jar包,-Dverbose参数会把被忽略的jar,即相同jar包的不同版本引入也列出来。 输出示例: 2.

springboot~封装依赖引用包jar还是pom,哪种更规范

将多个第三方包封装成一个项目后,如果你的目的是让其他开发人员可以直接引用这些依赖,一般来说有两种常见的方式: 打成JAR包:将封装好的项目编译打包成JAR文件,其他开发人员可以将这个JAR文件添加到他们的项目中,并在项目的构建工具(比如Maven)中配置该JAR作为依赖。这样做的好处是简单直接,其他

北极星Polaris+Gateway动态网关配置!

springcloudtencetn 父工程: pom

Maven 整理

# Maven简介 Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)) 这玩意儿是使用Java开发的,所以采用的就是Java的思想:面向对象 POM (Project Object Model):项目对象模型 Maven的作用: 项目构建:提供标准的、跨平台的

quarkus实战之五:细说maven插件

quarkus的maven插件非常重要,管理和构建工程时都离不开,本篇就来一起了解和掌握它

Jenkins + SVN

安装插件 Localization: Chinese (Simplified) Subversion 配置国内源 http://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 全局工具配置 Maven 配置 JDK 配置

【效率提升】maven 转 gradle 实战

gradle是一个打包工具, 是一个开源构建自动化工具,足够灵活,可以构建几乎任何类型的软件,高性能、可扩展、能洞察等。其中洞察,可以用于分析构建过程中数据,提供分析参考,方便排查问题和不断优化构建性能,以下一次编译分析报告。

Maven详解

1 maven介绍 1)为什么使用maven Maven是一个强大的项目管理和构建工具,它能够简化Java项目的构建、依赖管理和发布过程。以下是Maven的一些主要特点和功能: 项目结构管理:Maven采用约定优于配置的原则,提供了标准的项目结构模板,使得开发人员可以快速创建和维护项目。 依赖管理:

老问题了:idea中使用maven archetype新建项目时卡住

# 背景 作为一个后端Java打工人,idea就是最重要的打饭工具。创建项目,熟悉吧,但是,这么多年下来,因为idea换了版本,电脑换了等等,我还是时不时遇到根据maven archetype新建maven项目卡住。没错,我说的就是下面这样的场景: ![image-20230818220009447

工作流Activiti 迁移 Camunda

后端操作 意思就是: ①更改maven②改包名、类名③改bpmn model中语法④检查迁移后有哪些功能缺失了 1、更改maven 改为 2、换包名、类名 意思就是将 org.activiti.* 开头的改为 org.camunda.bpm.* 3、改bpmn model中语法 不改的话会出现语法解