Maven依赖原则,常用命令
2019-04-12 本文已影响0人
John13
1、learn1模块里的spring-core依赖common-logging的1.2版本,learn1依赖learn2,并且learn2也依赖common-logging,版本号是1.1.3。那么最后learn1将会依赖commons-logging的1.2版 本,对于maven中的间接依赖,哪个依赖在pom文件中定义的位置在前面,就采用在前面定义的那个依赖。
2、一个Pom文件中声明了对一个项目的高低版本的依赖,使用最后声明者。
3、learn-1依赖项目learn-2,learn-3,learn-2依赖commons-logging:1.1.3版本,learn-3依赖learn- 4, learn-4依赖commons-logging:1.2版本。那么最终learn-1依赖的commons-logging版本将会是1.1.3 版本的。这是因为maven采用最短路径优先原则
4、optional标签如果设置为true,意味着子模块将不依赖此模块,如果想依赖这个jar,必须在自己的pom.xml文件中在声明一遍。官方文档说:这样做为了避免错误jar违反license出现问题或者classpath发生问题。
5、如果我们的项目依赖出现问题,请善用mvn dependency:tree来查看依赖情况。