with one click
java-check-pmd
PMD静态分析技能:使用PMD进行Java代码质量分析,检测代码坏味道、编码规范和安全问题
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
PMD静态分析技能:使用PMD进行Java代码质量分析,检测代码坏味道、编码规范和安全问题
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
AI记忆持久化系统。使用memrec存储、检索、管理跨会话记忆。支持项目隔离、混合检索(KNN+BM25)、MMR重排、中文搜索。触发场景:(1)重要决策需记录,(2)关键知识需保存,(3)项目上下文需跨会话保持,(4)用户偏好需记忆,(5)检索历史知识辅助当前任务。
Rust 性能分析技能:通过 cargo flamegraph 生成火焰图(SVG),定位 CPU 热点函数并量化占比。适用于 Rust 项目性能瓶颈定位、热点分析、优化验证。触发场景:(1)分析 Rust 代码性能瓶颈,(2)定位 CPU 热点函数,(3)量化函数调用占比,(4)优化前后对比验证,(5)bench/unittest 性能不达预期时根因分析。
读取所有源代码,解构为设计图、设计文档、数据库设计; 没有执行文件,请按流程执行
项目问题侦测技能:综合分析设计、性能、安全问题,评分并提出重构或重建方案
局部代码修改技能:最小化修改完成功能,确保无蝴蝶效应,支持独立测试验证和全量关联检查
该skill没有执行文件,为操作指引:如何重构
| name | java-check-pmd |
| description | PMD静态分析技能:使用PMD进行Java代码质量分析,检测代码坏味道、编码规范和安全问题 |
PMD(Programming Mistake Detector)检测Java代码中的编码规范违规、代码坏味道、潜在缺陷和安全漏洞。
PMD_HOME=~/app/pmd-bin-6.19.0
PMD_CLI=$PMD_HOME/bin/run.sh
PMD_RULESETS=/home/helly/open_source/github/pmd/pmd-java/src/main/resources/rulesets
SRC_DIR=src/main/java # Maven项目
# 或 SRC_DIR=src # 标准项目
# 代码风格检查
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/quickstart.xml -f text -r pmd-style.txt
# 完整质量检查
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/basic.xml,rulesets/java/design.xml -f text -r pmd-quality.txt
# 安全漏洞检查
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/security.xml -f text -r pmd-security.txt
$PMD_CLI pmd -d $SRC_DIR -R custom-ruleset.xml -f text -r pmd-custom.txt
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/basic.xml -R rulesets/java/codeestyle.xml -f text -r pmd-combined.txt
$PMD_CLI cpd --minimum-tokens 100 --files $SRC_DIR --language java --format text --fail-on-violation true
$PMD_CLI cpd --minimum-tokens 50 --files $SRC_DIR --language java \
--format xml --ignore-literals true --ignore-identifiers true
Read templates/result-processing.md
# 分析特定文件
$PMD_CLI pmd -d src/main/java/com/example/Test.java -R rulesets/java/quickstart.xml -f text
# 分析文件列表
$PMD_CLI pmd -filelist filelist.txt -R rulesets/java/quickstart.xml -f text
$PMD_CLI pmd -list # 查看所有规则
$PMD_CLI pmd -list -language java # 查看Java规则
$PMD_CLI pmd -help -language java -rule EmptyCatchBlock # 查看规则详情
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/quickstart.xml -f text -verbose # 详细输出
$PMD_CLI pmd -d $SRC_DIR -R rulesets/java/quickstart.xml -f text -debug # 调试模式
| 参数 | 描述 | 默认值 |
|---|---|---|
--minimum-tokens | 最小token数 | 100 |
--language | 检测语言 | java |
--format | 输出格式 | text |
--ignore-literals | 忽略字面量 | false |
--ignore-identifiers | 忽略标识符 | false |
| 问题 | 原因 |
|---|---|
| No files to process | 源代码路径不正确 |
| Unsupported language | 语言参数不正确 |
| RuleSetNotFoundException | 规则集文件不存在 |
| 模板文件 | 用途 |
|---|---|
templates/output-formats.md | 输出格式(text/xml/csv/html) |
templates/custom-ruleset.md | 自定义规则集XML模板 |
templates/build-integration.md | Maven/Gradle集成配置 |
templates/rulesets-reference.md | 规则集速查表(basic/codeestyle/design/security/performance) |
templates/result-processing.md | 结果解析与趋势报告脚本 |
技能版本: 1.0.0
工具版本: PMD 6.19.0
适用项目: Java 8+ 企业级项目
输出位置: 当前目录下的pmd-*.txt文件