PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。
PMD 6.48 正式发布,本次更新内容如下:
新特性
- 对 Java 19 的支持
- 注意:对 Java 17 预览语言功能的支持已被删除
- Gherkin 支持
错误修复
- apex
- ApexSOQLInjection:增加支持计数查询
- core
- CPD也应该提供一个
-debug
标志 - CPD:在 XML 报告中增加 token 的总数
- 如果报告被写到 stdout,stdout 不应该被关闭
- 额外的规则集没有在文档中列出
- 允许在 Java 18+ 下构建 PMD
- CPD也应该提供一个
- java
- 支持 JDK 19
- lua
- 修复了使用 CPD 时发现的几个相关 Lua 解析问题
弃用的 API
- 实验性的 Java AST 类
ASTGuardedPattern
已经被弃用,并且将被删除。它是为 Java 17 和 Java 18 预览版引入的,但它不再被 Java 19 Preview 支持。 - 接口
CPDRenderer
已被弃用,对于自定义的 CPD 渲染器应使用新的接口CPDReportRenderer
TestDescriptor
类已被弃用,由RuleTestDescriptor
取代
RuleTst
的许多方法已经作为内部 API 被弃用了
更多详情可查看:https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.48.0