Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Maven 编码质量闸口(编译 + 单测 + 静态分析 + 启动检测),只做验证不做修复,问题统一记录到 qa-pending.md。当编码完成后需要执行质量门禁时使用,也可单独触发。关键词:QA、质量验证、编译检查、单测、静态分析、启动检测、mvn verify、质量闸口。
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 659% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 75% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 58% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 101% | 0% |
编码完成后的四阶段质量验证:编译 → 单测 → 静态分析 → 启动检测。
只检查,不修复。 任何阶段失败,将问题记录到统一遗留文件后继续执行下一阶段,确保四个阶段的结果都能完整收集。
workspaceDir:当前工作区根目录。projectName:目标项目名;未提供时取 workspaceDir 目录名。projectDir:workspaceDir / projectName。subModule:要执行 mvn test / 启动检查的子模块,默认 .。subModuleDir:projectDir / subModule。triggerMethod:此次 QA 对应的方法、模块或任务标识。<skill_dir>:当前安装环境中的 maven-qa 技能目录,用于解析脚本路径。workspaceDir 默认取当前工作区。projectName、subModule、triggerMethod 优先来自 /team-plan、/team-execute、上游 /handoff;未提供时按默认值执行并在输出中注明假设。<skill_dir> 始终指向当前 skill 安装目录,不需要用户提供,也不能写死绝对路径。subModule,应在开始前把候选模块写入 待确认项,而不是盲跑全仓。projectDir / subModuleDir 执行。triggerMethod 写成 ClassName.methodName 或 module:task,便于后续追踪。docs/coding-issues/qa-pending.md,但这不是最终交付。/team-review、/team-release 或 /handoff 的质量结论中。领域扩展约束核对结果。| 参数 | 说明 | 默认值 | |------|------|--------| | projectName | 项目名(可选,不填时使用当前仓库目录名) | 当前目录 | | branch | 切换分支(可选) | 不切换 | | workspaceDir | 工作区根目录 | 当前工作区 | | subModule | 子模块名或相对路径(可选) | . | | triggerMethod | 触发来源(编码场景填 ClassName.methodName) | 手动触发 |
派生路径:
projectDir = workspaceDir / projectNamesubModuleDir = projectDir / subModule可选切换分支:若提供 branch 且非空,先执行 git checkout <branch>,失败则终止所有阶段。
脚本示例中的 <skill_dir> 指当前安装环境里的 maven-qa 技能目录。
bashcd <projectDir> mvn clean install -Dcheckstyle.skip=true -Dpmd.skip=true -Dspotbugs.skip=true
compile: pass,进入 Phase 2[ERROR] 关键行,记录到 统一遗留文件,继续执行 Phase 2bashcd <subModuleDir> mvn test
bashpython3 <skill_dir>/scripts/parse_surefire.py \ --report-dir <subModuleDir>/target/surefire-reports
success=true,通过率 >95%):记录 test: pass,进入 Phase 3failureDetails(类名、方法名、message)记录到 统一遗留文件,继续执行 Phase 3bashcd <projectDir> mvn clean verify
bashpython3 <skill_dir>/scripts/parse_static_analysis.py \ --report-dir <subModuleDir>/target/static-analysis
criticalIssues == 0):记录 static: pass,进入 Phase 4criticalViolations(PMD)和 criticalBugs(SpotBugs)记录到 统一遗留文件,继续执行 Phase 4bashcd <subModuleDir> mvn spring-boot:run \ -Dspring-boot.run.jvmArguments=-Dserver.port=<随机端口8081~9079> \ -Dspring.profiles.active=test
APPLICATION FAILED TO START 或 BUILD FAILURE 段落(无则取末尾 60 行),记录到 统一遗留文件run: passrun: pass,关闭该进程qa-pending.md路径:docs/coding-issues/qa-pending.md(相对于 projectDir)
markdown## {yyyy-MM-dd HH:mm:ss} | QA 遗留 | {triggerMethod} **编译**:{pass / 失败摘要}
{ERROR] 关键行列表,无则省略此块}
**单测**:{pass / 失败 N 个}
**静态分析**:{pass / critical N 个}
**启动**:{pass / 失败摘要}{失败日志摘要,无则省略此块}
---四个阶段全部通过时,不写入此文件。
✅/❌ 编译 {pass / 失败 N 个错误}
✅/❌ 单测 {totalTests} 个,通过率 {passRate}%
✅/❌ 静态 总问题 {totalIssues},critical {criticalIssues}
✅/❌ 启动 {pass / 30s 内异常退出}有遗留问题时补充:→ 已记录到 docs/coding-issues/qa-pending.md
执行编码完成后的四阶段 Maven 质量门禁验证:编译 → 单测 → 静态分析 → 启动检测,每阶段失败均记录到 qa-pending.md 后继续执行,确保四阶段结果完整收集。
本 skill 只检查,不修复。问题修复请回到对应编码 skill 处理。
Other measured skills in the registry, with their headline benchmark lift.