返回更新列表
新发布Aug 28, 2026

pmd pmd_releases/7.27.0

一个可扩展的多语言静态代码分析器。

分享

PMD - 源代码分析器

PMD Logo

Join the chat Build Snapshot Maven Central Reproducible Builds Coverage Status Codacy Badge Contributor Covenant Documentation (latest) Gurubase Docker Image Version

PMD 是一个可扩展的多语言静态代码分析器。它能发现常见的编程缺陷,例如未使用的变量、空的 catch 块、不必要的对象创建等。它主要专注于 Java 和 Apex,但 支持其他 16 种语言。它内置了 400 多条规则。可以通过自定义规则进行扩展。它使用 JavaCC 和 Antlr 解析源文件为抽象语法树(AST),并针对这些 AST 运行规则以发现违规。规则可以用 Java 或 XPath 查询编写。

目前,PMD 支持 Java、JavaScript、Salesforce.com Apex 和 Visualforce、Kotlin、Swift、Modelica、PL/SQL、Apache Velocity、JSP、WSDL、Maven POM、HTML、XML 和 XSL。Scala 也受支持,但目前没有可用的 Scala 规则。

此外,它还包含 CPD,即复制粘贴检测器。CPD 能发现 Coco、C/C++、C#、CSS、Dart、Fortran、Gherkin、Go、Groovy、HTML、Java、JavaScript、JSP、Julia、Kotlin、Lua、Matlab、Modelica、Objective-C、Perl、PHP、PL/SQL、Python、Ruby、Salesforce.com Apex 和 Visualforce、Scala、Swift、T-SQL、TypeScript、Apache Velocity、WSDL、XML 和 XSL 中的重复代码。

🚀️ 安装与使用

发布页面 下载最新的二进制 zip 包并解压到某个位置。

执行 bin/pmd checkbin\pmd.bat check

另请参阅 入门指南

演示:

以下展示了 PMD 如何分析 openjdk

演示

还有适用于 Maven 和 Gradle 以及各种 IDE 的插件。 请参阅 工具/集成

ℹ️ 如何获取支持?

🤝️ 贡献

欢迎提交 Pull Request。对于重大更改,请先打开 issue 讨论您想要更改的内容。

PMD 的最新源代码可在 GitHub 上找到。Fork 我们吧!

有关详细信息,请参阅 如何为 PMD 做贡献

规则设计器在 pmd/pmd-designer 上开发。 请参阅 其 README 了解开发者文档。

💵️ 财务贡献者

成为财务贡献者,帮助我们维持社区。 贡献

✨️ 贡献者

本项目遵循 all-contributors 规范。 欢迎各种形式的贡献!

完整列表请参见 致谢

📝️ 许可证

BSD 风格

分类