先确认项目是否被识别为maven项目:检查pom.xml是否在根目录、右侧maven projects窗口是否显示羽毛图标、右键有无“add as maven project”;若未识别,需reload project或手动添加;排除后仍报错,需检查exclusion作用域、执行rebuild project,并优先考虑dependencymanagement统一版本。

打开 Dependency Analyzer 视图后没反应?先确认这三件事
插件装完但 pom.xml 底部没出现 Dependency Analyzer 标签,大概率不是插件失效,而是 IDEA 没“认出”这是 Maven 项目。
- 右键项目根目录 → Reload project(不是 Reload Maven project)
- 检查
pom.xml是否在项目根路径下;如果模块是子模块,确保父pom.xml中声明了该 module - IDEA 右侧
Maven Projects工具窗口里,该项目是否显示为 Maven 模块(图标带羽毛图标),否则手动点击+ Add Maven Project加载pom.xml
重启 IDEA 后仍不显示,可尝试关闭「Settings → Build → Build Tools → Maven → Importing」里的 Import Maven projects automatically,再手动 reload —— 这个开关有时会干扰插件初始化。
Conflicts 视图里标红的依赖,为什么 Exclude 后编译还是报错?
Exclude 功能生成的是 <exclusion></exclusion>,它只切断当前 <dependency></dependency> 的子依赖链,不解决跨 module 或 parent pom 的重复引入。
- 检查冲突项的“来源路径”:右键红色依赖 →
Jump to source,确认它来自哪个<dependency></dependency>块;如果该块在父 pom 里,就得去父 pom 改,子 pom 的<exclusions></exclusions>无效 - 排除后务必执行
mvn clean compile或 IDEA 的Build → Rebuild Project,仅刷新 Maven 依赖不够 - 某些框架(如 Spring Boot)用 BOM 管理版本,直接 Exclude 可能破坏版本对齐;优先考虑在
<dependencymanagement></dependencymanagement>中统一锁定版本
All Dependencies as Tree 和命令行 mvn dependency:tree 结果不一致?
Tree 视图默认只展示 compile 和 runtime scope 的依赖,而命令行输出包含所有 scope(包括 test、provided)。这不是 bug,是设计取舍。
- 想看完整树:在视图右上角切换「Scope」下拉框,勾选
test、provided等 - 命令行加
-Dverbose才显示被省略的冲突路径,而插件 Conflicts 视图已自动聚合这些路径,更聚焦问题本身 - 插件树形结构按实际解析顺序展开,不会像命令行那样受
-Dincludes过滤影响,更适合追查“谁引了这个 jar”
搜索依赖时搜不到 groupId,但 mvn dependency:tree -Dincludes=xxx 能命中?
插件搜索框默认匹配 artifactId 和 version,groupId 需要加前缀 g:,这是容易忽略的操作细节。
- 搜
g:org.springframework.boot才能定位 Spring Boot 相关依赖 - 搜
a:spring-web匹配 artifactId,v:2.7.18匹配版本,支持组合如g:org.slf4j a:slf4j-api - 搜索结果高亮位置取决于当前激活的视图:List 视图中整行高亮,Tree 视图中仅高亮节点本身,路径需手动展开查看
真正难搞的从来不是怎么点出来,而是看到冲突后,分不清该 Exclude、该升级、还是该去 dependencyManagement 统一管——这时候别急着点 Exclude,先右键看清楚“这个版本是从哪一层透过来的”。









