You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven默认激活的QA Profile未生效问题咨询

Maven多模块Profile激活问题解答

问题1:构建mdr-parent时QA Profile未激活,但mdr-commons模块构建时正常激活的原因

这是Maven activeByDefault 类型Profile的核心激活规则导致的:

  • 父POM中QA Profile设置了 <activeByDefault>true</activeByDefault>,这类Profile仅在没有任何其他Profile被显式/自动激活时才生效。
  • 当mdr-commons文件夹存在时,父POM中定义的mdr-commons Profile会通过文件存在性规则(检查${basedir}/mdr-commons/pom.xml存在)自动激活。此时因为已有其他Profile被激活,默认的QA Profile会被Maven自动禁用,所以父模块构建时spotless-maven-plugin不执行。
  • 而构建mdr-commons子模块时,当前模块的basedir是mdr-commons目录,此时文件存在性检查的路径${basedir}/mdr-commons/pom.xml不存在,mdr-commons Profile不会被激活。因为没有其他Profile激活,默认的QA Profile就会生效,spotless-maven-plugin正常执行。

问题2:删除mdr-commons文件夹后QA Profile正常激活的原因

删除mdr-commons文件夹后,父POM中mdr-commons Profile的文件存在性激活条件不再满足,没有任何其他Profile被激活。此时父POM中设置为activeByDefault的QA Profile就会触发激活,所以执行mvn clean install时QA Profile正常生效。

内容的提问来源于stack exchange,提问作者clembo590

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 08:36:11