maven依赖+聚合+依赖

来源:互联网 发布:猩球崛起3 知乎 编辑:程序博客网 时间:2024/04/28 18:27

Maven里面对于传递性依赖有以下几个规则:http://www.cnblogs.com/AlanLee/p/6187843.html

1)         最短路径原则:如果A对于依赖路径中有两个相同的jar包,那么选择路径短的那个包,路径最近者优先,上述会选X(2.0)。

2)         第一声明优先原则:如果A对于依赖路径中有两个相同的jar包,路径长度也相同,那么依赖写在前面的优先。例如:A->B->F(1.0),A->C->F(2.0),会选F(1.0)。

3)         可选依赖不会被传递,如A->B,B->C,B->D,A对B直接依赖,B对C和D是可选依赖,那么在A中不会引入C和D。可选依赖通过optional元素配置,true表示可选。如果要在A项目中使用C或者D则需要显式地声明C或者D依赖。

 



代码中使用exclusions元素声明排除依赖exclusions可以包含一个或者多个exclusions子元素,声明exclusion的时候只需要groupld和artifactld。


归类依赖:

将同一项目的不同模块的版本号写成maven属性

<properties><springframework.version>2.5.6</springframework.version></properties>


<dependencies><dependency><groupld>org.springframework</groupld><artifactld>spring一core</artifactld><version>${springframework.version}</version></dependenCy>

优化依赖:

使用dependencv:Iist和dependencv:tree可以帮助我们详细7解项目中所有依赖的具体信息,在此基础上,还有dependency:analyze一个工具可以帮助分析当前项目的依赖。idea等工具在这方面也提供了支持。



原创粉丝点击