依赖可视化与分析
IDE 提供依赖树可视化,直观分析依赖关系和冲突。
IDEA 依赖分析
查看依赖树
Bash
Maven 窗口 → Dependencies
展开查看依赖层次
依赖图表
Bash
右键 pom.xml → Maven → Show Dependencies
生成依赖关系图:
Bash
┌─────────┐
│ my-app │
└────┬────┘
│
┌────▼────┐
│spring │
│-core │
└────┬────┘
│
┌────▼────┐
│spring │
│-jcl │
└─────────┘
冲突标记
红色虚线表示冲突依赖。
Eclipse 依赖分析
查看依赖
text
Package Explorer → Maven Dependencies
展开查看 JAR 列表
依赖层次
text
Maven Dependencies/
├── spring-core-5.3.20.jar
│ └── spring-jcl-5.3.20.jar
├── junit-4.13.2.jar
│ └── hamcrest-core-1.3.jar
依赖属性
text
右键 JAR → Properties → Maven
查看:
- 来源路径
- 传递层次
- 版本信息
冲突定位
IDEA 定位冲突
text
pom.xml 中红色波浪线标记冲突依赖
Alt+Enter → 查看冲突详情
或:
Maven 窗口 → Dependencies
冲突依赖红色标记
冲突解决面板
text
显示:
- 冲突版本列表
- 冲突路径
- 选择解决方案
依赖搜索
IDEA 添加依赖搜索
text
pom.xml → Alt+Insert → Add Dependency
输入关键词搜索 Maven Central
搜索结果
text
搜索 spring-core
显示版本列表:5.3.0, 5.3.20, 6.0.0
选择版本 → OK
依赖分析命令
dependency:tree
text
mvn dependency:tree
输出:
text
[INFO] com.example:my-app:jar:1.0.0
[INFO] +- org.springframework:spring-core:jar:5.3.20
[INFO] | \- org.springframework:spring-jcl:jar:5.3.20
[INFO] +- junit:junit:jar:4.13.2:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
dependency:analyze
text
mvn dependency:analyze
输出:
text
[WARNING] Used undeclared dependencies:
[WARNING] commons-lang:commons-lang:jar:3.0
[WARNING] Unused declared dependencies:
[WARNING] log4j:log4j:jar:1.2.17
依赖范围查看
IDEA 查看
text
Maven 窗口 → Dependencies
展开 → 显示 scope 标记
scope 标记
| 标记 | scope |
|---|---|
| compile | 默认 |
| test | 测试 |
| provided | 容器提供 |
| runtime | 运行时 |
未使用依赖检测
Maven 命令
text
mvn dependency:analyze
检测结果
text
Unused declared dependencies:
- log4j:log4j # 声明但未使用
Used undeclared dependencies:
- commons-lang:commons-lang # 使用但未声明
依赖下载源查看
IDEA 查看
text
Maven 窗口 → Dependencies
右键 JAR → Maven → Open Maven Settings
查看下载源仓库
查看本地位置
text
右键 JAR → Show in Explorer
打开本地仓库目录
依赖图过滤
IDEA 图表过滤
text
依赖图表 → 过滤按钮
过滤:
- 仅显示冲突
- 仅显示 scope=test
- 排除指定依赖
依赖分析最佳实践
推荐步骤
text
1. mvn dependency:tree 查看结构
2. IDE 可视化确认冲突
3. mvn dependency:analyze 检测未使用
4. 排除或统一版本
5. 验证依赖树
要点总结
- IDEA Maven 窗口查看依赖树
- Show Dependencies 显示依赖图表
- 红色标记冲突依赖
- Alt+Insert 搜索添加依赖
- mvn dependency:tree 查看文本依赖树
- mvn dependency:analyze 检测未使用依赖
📝 发现内容有误?点击此处直接编辑