Install
openclaw skills install @thcjp/java-toolkit-pro面向团队的 Java 多模块项目全量规则扫描、规则集治理、JVM 调优与测试性能门禁工具,支持中文交互与结构化输出。
openclaw skills install @thcjp/java-toolkit-pro功能说明: 本技能涵盖 中文交互、化工作流场景 等核心能力。
专业版面向团队与企业,在免费版 14 条关键规则基础上,扩展全项目批量扫描、团队规则集与豁免治理、JVM/GC/模块化深度主题与测试性能门禁。规则与免费版兼容,已有规则可直接纳入规则集.
| 能力 | 说明 | 专业版增强 |
|---|---|---|
| 全项目扫描 | 多模块批量规则检查 | 回归追踪 |
| 规则集治理 | 规则、豁免、严重级 | 版本化 |
| JVM 主题 | GC、内存、模块化 | 深度专题 |
| 测试门禁 | JUnit/Mockito 覆盖率 | 构建期卡控 |
| 性能门禁 | 关键路径性能阈值 | CI 阻断 |
技术实现要点:核心能力基于input_params参数与output_format配置实现,支持创建/查询/修改/删除等操作模式,通过config_options进行运行时配置. |
用input_params参数进行配置.
处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作用config_options参数进行配置.
处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志.
config_options参数,支持修改/重置/导入操作用output_format参数进行配置.
处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志.
output_format参数,支持导出/保存/转换操作
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:面向团队的全项目、规则集治理与、调优工具、面向团队的、Java、调优专业工具、全项目批量规则扫、描与回归、团队规则集与豁免、模块化深度主题、与性能门禁等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.# 批量扫描(专业版)
./gradlew check -PjavaRules=team-ruleset.json --scan-report java-report.json
报告示例:
严重: 3 处 equals 未配 hashCode
中等: 5 处 volatile 误用为原子
提示: 8 处 Optional.get() 未判空
覆盖模块: 12 / 12
{
"ruleset": "team-java-v2",
"rules": {
"equals_hashcode_pair": {"severity": "block"},
"volatile_atomicity": {"severity": "block"},
"optional_get_without_check": {"severity": "warn"},
"try_with_resources": {"severity": "block"}
},
"exclusions": [
{"path": "legacy/**", "reason": "遗留模块,迁移期豁免", "until": "2026-12"}
]
}
# GC 日志分析
java -Xlog:gc*=info:file=gc.log -jar app.jar
# 覆盖率门禁
./gradlew test jacocoTestCoverageVerification \
-Pminimum.coverage=0.80
{
"jvm_tuning": {"gc": "G1GC", "max_pause_ms": 200, "heap": "4G"},
"test_gate": {"min_coverage": 0.80, "block_on_fail": true},
"modules": ["app", "core", "api"]
}
以下场景Java 工具箱专业版不适合处理:
需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于非本工具能力范围的需求.
扫描配置(java-scan.json):
{
"modules": ["app", "core", "api"],
"ruleset": "team-java-v2",
"report": "java-report.json",
"coverage_min": 0.80,
"block_severe": true,
"regression_baseline": "main"
}
| 项目 | 免费版 | 专业版 |
|---|---|---|
| 14 条规则 | 相同 | 相同(纳入规则集) |
| 范围 | 单文件 | 全项目批量 |
| 规则集 | 不支持 | 版本化治理 |
| JVM 调优 | 不支持 | 支持 |
Q1:规则集怎么团队协同? A:规则集 JSON 版本化管理,团队评审后合并. Q2:全项目扫描要多久? A:取决于代码量,10 万行约 2-5 分钟,支持增量扫描. Q3:免费版规则能直接升级吗? A:能。把 14 条规则作为规则集基础,再扩展团队规则. Q4:覆盖率门禁怎么接 CI? A:构建后跑 JaCoCo 覆盖率校验,低于阈值退出非零. Q5:专业版有优先支持吗? A:有。专业版享规则定制与 JVM 调优咨询.
# GC 日志(JDK 11+)
log:time,level,tags -jar app.jar
# ...
# 常用 GC 参数
java -XX:+UseG1GC \
-XX:MaxGCPauseMillis=200 \
-Xms4g -Xmx4g \
-XX:+HeapDumpOnOutOfMemoryError \
-jar app.jar
GC 选择:
G1GC: 通用,平衡吞吐与延迟(JDK 9+ 默认)
ZGC: 超低延迟,大堆
Parallel: 高吞吐,批处理
调优原则: 先观测再调,别凭感觉
module-info.java:
module com.example.app {
requires java.sql;
requires org.slf4j;
exports com.example.api;
opens com.example.internal to spring.core;
}
# ...
模块化收益:
- 强封装,明确导出
- 启动更快(少加载)
- 依赖清晰,避免循环
// Gradle JaCoCo 门禁
jacocoTestCoverageVerification {
violationRules {
rule {
limit {
minimum = 0.80
}
}
}
}
check.dependsOn jacocoTestCoverageVerification
{
"performance_gate": {
"p99_latency_ms": 200,
"throughput_min": 1000,
"gc_pause_ms": 100,
"block_on_regression": true,
"baseline": "main"
}
}
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| JDK | 工具链 | 必需 | adoptium.net |
| Gradle/Maven | 构建工具 | 推荐 | gradle.org / maven.apache.org |
| JaCoCo | 覆盖率 | 门禁时必需 | org.jacoco 插件 |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
{
"success": true,
"data": {
"result": "Java 工具箱专业版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "javakit pro"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。