maven构建项目依赖版本确定
在使用maven管理Java项目依赖时,每个依赖的版本是如何确定的呢?
maven依赖决策
maven有两条依赖决策原则:
- 最短路径优先
- pom中先声明的优先
版本确定
在确定依赖版本时,需要考虑以下因素:
-
parent标签:如果pom包含
标签,它将统一项目中依赖的版本。 -
properties定义:如果
标签中声明的版本不是期望版本,可以在当前pom中使用 定义覆盖。 -
dependencyManagement:
用于统一管理依赖版本。 - 第三方bom:第三方bom可以统一管理版本,先声明的bom版本优先。
- 多个bom:如果有多个bom管理同一个库的版本,先声明的bom版本优先。
确定运行时版本
要确定运行时具体使用的jar版本,可以采用以下方法:
- Maven Helpher插件:在idea中安装Maven Helpher插件,使用Dependency Analyzer标签查看红色依赖。
- 导入具体类:在项目启动类中导入某个jar中的具体类,然后通过Project标签和Select Opened File确定版本。