mvn help:effective-settings 与 mvn help:effective-pom
两个都是 Maven help 插件目标,用来查看合并生效后的最终配置,不是你磁盘上原始文件,是叠加多份配置之后真正运行的配置。
1. mvn help:effective-settings
作用:查看最终生效的 settings.xml 配置 Maven 的 settings 来源有两处:
- 全局:
maven/conf/settings.xml - 用户级:
~/.m2/settings.xml(优先级更高,覆盖全局)
执行命令后,Maven 会把两份 settings 合并、替换变量,输出一份完整的 settings。 ✅ 常用于排查:
- 镜像 mirror 有没有生效
- 私服地址、账号密码是否加载成功
- 本地仓库 localRepository 实际路径
- 代理、profile、activeProfiles 是否激活
注意:密码默认会被掩码显示
***,不会明文输出。
2. mvn help:effective-pom
作用:查看最终生效的 pom.xml Maven POM 有继承机制:
- 项目自身
pom.xml - 父工程 pom
- Maven 内置超级 POM(super pom,所有项目默认继承)
执行后会把继承链全部合并,所有默认值补齐,输出一份完整扁平化 POM。 ✅ 常用于排查:
- 依赖最终版本(dependencyManagement 锁定版本是否生效)
- 插件版本、插件配置有没有被继承 / 覆盖
- 默认资源目录、编译输出目录、打包配置
- 父工程属性、profile 激活后的配置
- 搞清楚为什么引入了某个依赖
一句话区分
effective-settings:仓库、镜像、账号、本地库相关的全局环境配置(settings)effective-pom:项目依赖、插件、构建规则相关的项目构建配置(pom)
小补充
-
都不需要编译代码,直接执行;
-
输出内容很长,一般重定向保存到文件查看:
mvn help:effective-settings > effective-settings.xml
mvn help:effective-pom > effective-pom.xml