maven3实战之坐标和依赖(最佳实践之优化依赖)

来源:互联网 发布:dnf属性强化数据 编辑:程序博客网 时间:2024/04/20 10:53

maven3实战之坐标和依赖(最佳实践之优化依赖)

----------

 

 

在软件开发过程中,程序员会通过重构等方式不断地优化自己的代码,使其变得更简洁、更灵活。同理,程序员也应该能够对maven项目的依赖了然于胸,并对其进行优化,如去除多余的依赖,显式地声明某些必要的依赖。

 

maven会自动解析所有项目的直接依赖和传递性依赖,并且根据规则判断每个依赖的范围,对于一些依赖冲突,也能进行调节,以确保任何一个构件只有唯一的版本在依赖中存在。在这些工作之后,最后得到的那些依赖被称为已解析依赖。可以运行如下命令查看当前项目的已解析依赖:

mvn dependency:list

 

在此基础上,还能进一步了解已解析依赖的信息。将直接在当前项目POM声明的依赖定义为顶层依赖,而这些顶层依赖的依赖定义为第二层依赖,以此类推,有第三,第四层依赖。当这些依赖经maven解析后,就会构成一个依赖树,通过这棵依赖树就能很清楚地看到某个依赖是通过哪条传递路径引入的。可以运行如下命令查看当前项目的依赖树:

mvn dependency:tree

 

使用dependency:list和dependency:tree可以帮助我们详细了解项目中所有依赖的具体信息,在此基础上,还有dependency:analyze工具可以帮助分析当前项目的依赖。我们运行如下命令:

mvn dependency:analyze

执行后的结果中重要的是两个部分。首先是Used undeclared dependencies,意指项目中使用到的,但是没有显式声明的依赖。结果中还有一个重要的部分是:Unused declared dependencies,意指项目中未使用的,但是显式声明的依赖

 

0 0
原创粉丝点击