maven依赖指定版本范围或者最新版本
依赖调节是为了解决版本不一致的问题(multiple versions),并采取就近原则(nearest definition)。
举例来说,A项目通过依赖传递依赖了两个版本的D:
A -> B -> C -> ( D 2.0 ) ,
A -> E -> ( D 1.0 )
复制代码
那么最终A依赖的D的version将会是1.0,因为1.0对应的层级更少,也就是更近。
除了我们常用的<version>1.1.0</version>
,在声明依赖版本的时候,可以通过表达式灵活地配置版本号。
例如配置jar包x的<version>
标签支持如下几种语法:
1.0: 推荐依赖版本,此版本号可能会被覆盖。
[1.0]: 强制依赖此版本。
复制代码
还可以控制依赖的版本范围:
(,1.0]: x <= 1.0
[1.5,): x >= 1.5
[1.2,1.3]: 1.2 <= x <= 1.3
[1.0,2.0): 1.0 <= x < 2.0
同时声明多个版本范围也是可以的,只要用逗号分隔即可:
(,1.0],[1.2,): x <= 1.0 或者 x >= 1.2
当你不希望依赖某个版本的时候,可以声明为:
(,1.1),(1.1,)