2021-06-13 maven实战命令

1.mvn dependency依赖分析

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

mvn dependency:tree ---- 列出项目的包依赖树
mvn dependency:tree -Dverbose
这个命令跟上一个命令的区别就是,这个命令的依赖,输出来是个树,更方便看依赖关系。

查看包冲突
比如我们查看一下commons-collections包的冲突
命令:
mvn dependency:tree -Dverbose -Dincludes=commons-collections.

dependency:analyze-only ---- 分析依赖
dependency:analyze-only命令可以分析整个项目,并且找出项目中依赖有如下情况的:

声明了并且使用了的依赖
没有声明但是使用了的依赖
声明了但是没有使用的依赖

2.基于 import-pom强制约束依赖方的版本号

(1)如果你是公司基础组件的开发人,你的组件依赖了很多重要的第三方的开源框架,然后你为了保证依赖你的组件的人,不会自行导入一些开源框架的过旧的版本,导致跟你的组件出现依赖冲突
(2)你需要为你的组件开发一个类型为pom的工程,后缀名为bom,这个工程,要声明一套dependencyManagement,里面声明好对你的组件的依赖的版本号,还有你的组件使用的重要的第三方开源框架的版本号
(3)然后依赖方在引用你的组件的时候,需要在自己的dependencyManagement中,加一个scope范围为import,类型为pom的这么依赖导入,此时就可以将你的bom包声明的那一套依赖的版本号导入他那里,作为版本的约束
(4)然后依赖方接着在dependencies里面可以声明对你的组件的依赖,此时版本号都不用写,因为已经被你约束了
(5)同时,假设依赖方要自己依赖一个过旧的开源框架的版本,会有提示报警,不让他自行定义过旧版本的框架

你可能感兴趣的:(2021-06-13 maven实战命令)