--- name: pom-management description: 用于多模块 Java 项目的 Maven pom.xml 规范治理,覆盖父子继承、dependencyManagement/pluginManagement、版本统一、依赖清理与风险检查。用户提到整理 POM 规范、审查依赖、优化模块 POM、移除 systemPath、输出整改建议时使用。 --- # POM 管理 Skill ## 目的 使用该 Skill 产出一致、可执行的 Maven POM 治理结果,适用于多模块项目。 聚焦以下方面: - 父子继承关系一致性 - 版本集中管理 - 依赖与插件治理 - 构建可复现与 CI 友好性 ## 触发条件 当用户提出以下诉求时启用: - "整理 POM 规范" / "POM 管理规范" - "检查/优化 pom.xml" - "依赖版本统一" - "提出整改建议" - "去除 systemPath/system scope" - "治理 Maven 多模块结构" - "调整系统结构" ## 默认工作流 1. 识别 POM 拓扑 - 定位根 POM、聚合 POM、业务模块 POM。 - 确认父链是否连续且一致。 2. 检查版本治理 - 检查根 POM 的 `properties`。 - 检查根 POM 的 `dependencyManagement`。 - 检查根 POM 的 `pluginManagement`。 - 标记应上收但仍写在子模块中的硬编码版本。 3. 检查依赖质量风险 - 标记 `scope=system` 与 `systemPath`。 - 标记动态或不稳定版本(`LATEST`、`RELEASE`、区间版本、生产场景下的 `-SNAPSHOT`)。 - 标记重复依赖与冲突依赖。 - 标记无明确理由的通配排除(`*:*`)。 4. 检查 Java 与框架版本对齐 - 对比各模块 `java.version`、`maven.compiler.source/target/release`。 - 对比 Spring Boot、Spring Cloud、MyBatis 等核心技术栈版本。 5. 按优先级输出结果 - `P0`:必须立即处理(构建不可移植、父链分裂、硬冲突) - `P1`:短期一致性优化 - `P2`:长期可维护性优化 ## POM 治理规则 规范条文(必须/禁止/推荐)已提取至 Cursor 规则 **[`../../../../rules/java/java-pom-governance.mdc`](../../../../rules/java/java-pom-governance.mdc)**;本 Skill 仅保留工作流与输出模板。 ## 输出模板 最终回复建议使用以下结构: ```markdown ## POM 规范建议 - [规则 1] - [规则 2] ## 发现的问题 - P0: [问题 + 影响 + 位置] - P1: [问题 + 影响 + 位置] - P2: [问题 + 影响 + 位置] ## 修改建议 - [建议 1:怎么改] - [建议 2:怎么改] ## 可执行下一步 - [步骤 1] - [步骤 2] ``` ## 变更执行指引 当用户要求落地修改时: - 先只改用户要求范围(例如仅文档,或仅 POM 代码)。 - 保持与任务无关的本地改动不被影响。 - 改动后执行轻量校验(如可用,在相关模块运行 `mvn -q -DskipTests validate`)。 - 清晰说明“已改内容”与“后续待办”。