用途:OpenMetadata 通过 Spotless Maven 插件强制 Java 代码格式,CI 每次构建运行 mvn spotless:check,任何文件格式不合格都会导致 PR 失败。本技能把修复动作固定为统一命令,避免人工反复沟通。触发场景包括用户要求修复 checkstyle 或 Java 格式、运行 spotless;CI 在 PR 上发布 Java checkstyle 失败评论(提示在仓库根目录运行 mvn spotless:apply 并提交更改);以及编写或修改任何 .java 文件之后、提交或开 PR 之前。
用法与参数:在仓库根目录运行 mvn spotless:apply,默认格式化所有模块;用 mvn -pl <module> spotless:apply 限定单个 Maven 模块以加快速度;用 mvn spotless:check 仅校验不改文件,适合推送前确认。流程为:先运行 Spotless,若报插件错误而非格式差异,应直接暴露错误并停止,不要手动绕改格式;再用 git status --short 和 git diff --stat 查看改动,预期只改 .java(本仓库 Spotless 也配置了其他文件类型,改到 pom.xml 等也属正常);若用户要求提交则按其偏好,若确认是纯机械格式化可单独提交为 Fix Java checkstyle 提交,否则不要自动提交,列出改动文件让用户决定。
限制与说明:Spotless 配置位于根 pom.xml 的 spotless-maven-plugin 段(googleJavaFormat + removeUnusedImports),不要在源文件中重复定义格式规则;Spotless 是格式的权威来源,若持续重写刚做的改动,应重读配置而非依赖 IDE。CI 强制逻辑在 .github/workflows/java-checkstyle.yml,java-checkstyle 任务运行 mvn spotless:apply 并在未格式化时失败。本技能仅限 Java;UI/TypeScript 用 ui-checkstyle,Python 用 make py_format(ruff)。