240 字
约 48 秒
1
Maven 依赖管理
2026-09-19
无标签
Maven 依赖管理
依赖传递
依赖树查看
查看依赖树
$ mvn dependency:tree
查看特定依赖的传递路径
$ mvn dependency:tree -Dincludes=org.springframework:spring-core
分析依赖冲突
$ mvn dependency:analyze
依赖冲突解决
<!-- 使用 dependencyManagement 统一管理版本 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.21</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- 排除冲突的传递依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
</exclusions>
</dependency>
BOM(Bill of Materials)
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.7.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
依赖分析命令
分析未使用的依赖
$ mvn dependency:analyze
查找重复的依赖
$ mvn dependency:analyze-duplicate
解析依赖
$ mvn dependency:resolve
复制依赖到目录
$ mvn dependency:copy-dependencies -DoutputDirectory=lib
最佳实践
- 使用 dependencyManagement 统一管理版本
- 定期检查和清理未使用的依赖
- 使用 BOM 简化版本管理
- 避免使用版本范围,使用具体版本
- 及时更新依赖版本,关注安全漏洞
评论
0 条
还没有评论,先写一条吧。