PMD 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
PMD 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
PMD 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
PMD 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
PMD 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 BSD
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 不详
适用人群 未知
收录时间 2008-11-15

软件简介

PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。

PMD支持的编辑器包括:
JDeveloper、Eclipse、JEdit、JBuilder、BlueJ、CodeGuide、NetBeans/Sun Java Studio Enterprise/Creator、IntelliJ IDEA、TextPad、Maven、Ant,、Gel、JCreator和Emacs。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (3)

加载中
打分: 力荐
代码审查的好帮手,前提是你要尽可能熟悉
2018/05/02 13:42
回复
举报
雅马哈 PMD
2014/12/09 01:18
回复
举报
PMD 是对“源代码”中不良编程习惯进行分析,侧重于重构。FindBugs通过“字节码”静态分析找出潜在Bug。
2015/01/19 09:03
回复
举报
更多评论
09/26 07:05

PMD 6.39.0 发布,多语言静态代码自动分析工具

PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 PMD 6.39.0 正式发布,本次更新内容如下: 修复的问题 core #3499: [core] 使用组合节点测试修复 XPath 规则链 java-errorprone #3493: [java] AvoidAccessibilityAlteration: 添加测试...

1
6
08/30 07:00

PMD 6.38.0 发布,多语言静态代码自动分析工具

PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 PMD 6.38.0 正式发布,本次更新内容如下: 修复的问题: apex #3462:[apex] 在 for-each 循环中执行的 SOQL 不会触发 ApexCRUDViolationRule #3484:[apex] ApexCRUDViolationRule 保...

1
7
08/03 06:48

PMD 6.37.0 发布,已支持 Java 17

PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 PMD 6.37.0 正式发布,本次更新内容如下: 值得注意的更新: Java 17 支持:这个版本的 PMD 带来了对 Java 17 的支持。PMD 支持 JEP 409: Sealed Classes 已被提升为 Java 17 的标准语...

1
4
06/29 07:01

PMD 6.36.0 发布,多语言静态代码自动分析工具

PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 PMD 6.36.0 正式发布,本次更新内容如下: 改进的增量分析 长期以来,增量分析一直帮助我们的用户获得了更快的分析结果,然而,它的实现在检测运行时和类型解析类路径的变化时往往过于...

0
7
06/01 07:30

PMD 6.35.0 发布,多语言静态代码自动分析工具

PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 PMD 6.35.0 正式发布,本次更新内容如下: Javascript 模块现在至少需要 Java 8: 我们使用了最新版本的 JavaScript 实现 Rhino 用于解析 JavaScript 代码,至少需要 Java 8。因此我们...

0
5
04/26 07:16

PMD 6.34.0 发布,多语言静态代码自动分析工具

PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 PMD 6.34.0 正式发布,本次更新内容如下: 新规则 新的 Java 规则 UseStandardCharsets 可以查看 Charset.forName. 的使用情况,因此可以使用 StandardCharsets 来代替,该规则也是 Ja...

1
6
03/29 07:00

PMD 6.33.0 发布,多语言静态代码自动分析工具

PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 PMD 6.33.0 正式发布,本次更新内容如下: 新特性和值得注意的地方: PLSQL 解析排除 PMD PLSQL 解析器可能无法顺利解析每个有效的 PL/SQL 代码。为了在这样的文件上仍然使用 PMD,你现...

1
4
发表于开发技能专区
2020/07/26 07:40

PMD 6.26.0 发布,多语言静态代码自动分析工具

PMD 6.26.0 发布了。PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 这是一个小的更新版本,处理了 156 项 commit,关闭了 43 项 PR,主要更新内容包括: 新规则: 新的 Java 规则UnusedAssignment(java-bestpractices)查找从未使用过...

0
3
发表于服务端专区
2020/06/28 07:46

PMD 6.25.0 发布,跨语言静态代码自动分析工具

PMD 6.25.0 发布了。PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 此版本开始,PMD 为两个版本的 Scala 提供交叉编译的 pmd-scala 模块,也就是 Scala 2.12 与 Scala 2.13: <dependency> <groupId>net.sourceforge.pmd</gr...

1
9
发表于软件架构专区
2020/05/25 07:40

PMD 6.24.0 发布,跨语言静态代码自动分析工具

PMD 6.24.0 发布了。PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 值得注意的更新内容包括: CPD 现在也支持 XML CPD 现在也可以在 XML 文件中查找重复项。 更新了 PMD Designer 此 PMD 版本发布了 pmd-designer 的新版本。 新的规...

0
7
发表于AI & 大数据专区
2019/11/04 07:30

PMD 6.19.0 发布,跨语言静态代码自动分析工具

PMD 6.19.0 发布了。PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 值得注意的更新内容包括: 更新了 PMD Designer 此 PMD 版本发布了 pmd-designer 的新版本 Java Metrics 添加了新的度量标准“Class Fan Out Complexity” 修改后的...

0
6
发表于服务端专区
2019/07/30 07:17

PMD 6.17.0 发布,跨语言静态代码自动分析工具

PMD 6.17.0 发布了。PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 这是一个小的更新版本,主要更新内容包括: 更新 PMD 设计器 这个 PMD 版本发布了新版本的 pmd-designer。有关更改,请参阅 PMD Designer 更改日志。 它包含一个直...

0
5
发表于AI & 大数据专区
2019/07/02 07:12

PMD 6.16.0 发布,跨语言静态代码自动分析工具

PMD 6.16.0 发布了。PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 这是一个小的更新版本,主要更新内容包括: 更新 PMD 设计器 PLSQL 语法更新 语法已更新,以支持 CREATE TABLE 语句中的内联约束。此外,CREATE TABLE 语句现在可以...

1
6
发表于开发技能专区
2019/05/27 07:40

PMD 6.15.0 发布,增强 Matlab 与 C++ 支持

PMD 6.15.0 发布了。PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 这是一个小的更新版本,主要更新内容包括: 增强 Matlab 支持 现在可以解析使用问号运算符的 Matlab 程序来指定对类成员的访问: classdef Class1 properties ...

0
4
发表于软件架构专区
2019/04/29 06:51

PMD 6.14.0 发布,跨语言静态代码自动分析工具

PMD 6.14.0 已发布,PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 主要更新如下: 最值得注意的更新 支持 Dart:PMD 现在为 Dart 提供 CPD 支持。 更新了 PMD 设计器。 规则更改 Java 规则AssignmentToNonFinalStatic(java-errorp...

0
14
发表于AI & 大数据专区
2019/04/01 06:11

PMD 6.13.0 发布,跨语言静态代码自动分析工具

PMD 6.13.0 已发布,PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 6.13.0 版本带来了不少新特性,修复了一些 bug,并对部分 API 进行了更改。 主要更新如下 征集 Logo 开发团队仍在为下一个主要版本的 PMD 寻找新 logo,详情请查看...

0
10
发表于服务端专区
2019/02/25 07:10

PMD 6.12.0 发布,跨语言静态代码自动分析工具

PMD 6.12.0 发布了,PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 主要更新内容包括: Call For Logo 想利用下个版本发布的机会使用新 logo,更多相关信息请看 github issue 1663。 CPD Suppression for Antlr-based languages IT...

0
11
发表于AI & 大数据专区
2019/01/28 07:29

PMD 6.11.0 发布,跨语言静态代码自动分析工具

PMD 6.11.0 发布了,PMD 是一个代码分析器,能够帮助发现常见的编程问题,比如未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 主要更新内容包括: Updated Apex Support Apex 语言已经支持最新版本 v45 (Spring '19),所有新语言特性都可用。 现在许多节点都会显示更多信息,例如 BooleanExp...

0
4
发表于大前端专区
2018/12/10 07:09

PMD 6.10.0 发布,跨语言静态代码自动分析工具

PMD 6.10.0 发布了,PMD 是一个代码分析器,能够帮助发现常见的编程瑕疵,像未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 主要更新内容如下: CPD 支持 Kotlin 现在可以使用 CPD 在 Kotlin 项目中查找重复的代码。 New Rules 新的 Java 规则 UseUnderscoresInNumericLiterals(java-codest...

0
9
发表于大前端专区
2018/10/29 07:12

PMD 6.9.0 发布,跨语言静态代码自动分析工具

PMD 6.9.0 发布,PMD 是一个代码分析器,能够帮助发现常见的编程瑕疵,像是未使用的变量、空的 catch 块、不必要的对象创建等等。最初仅支持 Java 代码,目前还可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。 此次更新主要包括: Improved Golang CPD Support The new PLSQL rule CodeFormat (plsql-codestyle) verifies that PLSQL code is properly formatted. #649: [core]...

0
10
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2015/12/10 23:04

PMD使用说明

安装: net.sourceforge.pmd.eclipse_3.2.6.v200903300643.jar放在eclipse的features目录下 net.sourceforge.pmd.eclipse.plugin_3.2.6.v200903300643.jar放在eclipse的plugins目录下 重启eclipse,就安装成功了 使用: 右击项目->PMD->Check Code With PMD即可...

0
0
发表了博客
2018/02/23 18:26

pmd 使用笔记

pmd是一块开源的代码静态分析工具,使用java编写,可以自定义规则来进行自己想要的分析。pmd可以单独使用,也可以作为idea、eclipse的插件使用。它的规则分为xpath规则,和java规则。https://pmd.github.io/ pmd内部工作机制比较简单,大概分为以下几个主要步骤。 1、使用是通过dir参数指定要分析的源码目录,pmd会将要分析的源码文件全部解析成抽象语法树。 2、遍历每一个文件,为每个文件的分析创建一个线程对象pmdrunable放到...

0
0
发表了博客
2015/05/22 19:14

pmd 代码检查

pmd 代码检查 不要在循环中创建变量Avoid instantiating new objects inside loops private static List<MetricDataPojo> buildeMetricData(final String monitorId, final StateType stateType) { List<MetricDataPojo> result = new ArrayList<MetricDataPojo>(); for (RoomPojo room : ResCache.getRoomCache().values()) { if (!room.getMonitorId().equals(monitorId)) { continue; } MetricDataPojo metricData = new Me...

0
0
发表了博客
2014/11/10 15:43

PMD规则 (转载)

PMD规则 · UnnecessaryConstructor: This rule detects when a constructor is not necessary; i.e., when there's only one constructor, it's public, has an empty body, and takes no arguments. 翻译 非必要的构造器:本规则检查不必要的构造器,例如:只存在一个公共的,空方法体的,无参的构造器 · NullAssignment: Assigning a "null" to a variable (outside of its declaration) is usually bad form. Some times,...

0
2
发表了博客
2016/08/02 09:13

PMD Warnings 警告类型

PMD Warnings 警告类型 一、 Type: UnusedModifier Category: Unused Code(未使用的代码) 二、导入(import) 的包未使用到 【Ctrl+Shift+O】 Type: UnusedImports Category: Import Statements (import语句) 三、存在未被使用的私有成员变量 Type:UnusedPrivateField Category: Unused Code 四、有命名後没有使用的变量 Type:UnusedLocalVariable Category: Unused Code 五、分解的 if 表达式:有时候两个 if 语句可以通过布尔...

0
0
发表了博客
2012/09/17 16:05

静态分析工具PMD

1. 编写目的 质量是衡量一个软件是否成功的关键要素。而对于商业软件系统,尤其是企业应用软件系统来说,除了软件运行质量、文档质量以外,代码的质量也是非常重要的。软件开发进行到编码阶段的时候,最大的风险就在于如何保证代码的易读性和一致性,从而使得软件的维护的代价不会很高。 在软件开发的过程中,以下几种情形随处可见: 1) 软件维护时间长,而且维护人员的积极性不高: 做过软件维护的开发人员,尤其是在接手不是自...

0
7
发表于软件架构专区
2018/04/26 11:33

sonar-pmd插件添加阿里p3c-pmd的规则

参考:http://younian.net.cn/article/143 和https://github.com/mrprince/sonar-p3c-pmd 项目做了一个包,扔到sonar[版本 6.5 (build 27846)]运行正常。 下载地址:sonar-pmd-plugin-2.7-SNAPSHOT.jar.zip 另外不足是,sonar-p3c-pmd项目里提供的描述文件,就是不够详细,没有中文, 要根据p3c-pmd里的重做有些累,能有就很好了,配合IDE插件基本效果还不错。 描述内容都在:p3c/p3c-pmd/src/main/resources/messages.xml(PS:...

4
0
发表了博客
2018/09/20 22:53

sonarQube快速入门7.2版本下载pmd插件,并设置只使用pmd规则

sonar入门了解 sonarQube是一款优秀的持续集成平台工具,能集成业内常见的CI工具,如Jenkins,配合findbugs,pmd等工具进行扫描,并查看报告. 下载sonarQube sonar官网地址 7.2下载地址, 目前官网没直接提供7.2的链接了 https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-7.3.zip 在download页面目前是7.3版本的下载.之前下载了7.3,然后在 http://localhost:9000/admin/marketplace 无法搜到pmd,最后在官方文档看到...

0
0
发表了博客
2019/08/13 23:07

Eclipse与PMD(代码静态检查)集成

### **一、PMD简介** - PMD(Project Manager Design)是一种开源分析Java代码错误的工具; - 与其他分析工具不同的是,PMD通过静态分析获知代码错误。也就是说,在不运行Java程序的情况下报告错误; - PMD附带了许多可以直接使用的规则,利用这些规则可以找出Java源程序的许多问题; - 用户还可以自己定义规则,检查Java代码是否符合某些特定的编码规范; - PMD的核心是JavaCC解析器生成器。PMD结合运用JavaCC和EBNF(扩展巴科斯...

0
0
发表了博客
2014/11/10 15:31

静态分析工具PMD使用说明(转载)

1.简述 质量是衡量一个软件是否成功的关键要素。而对于商业软件系统,尤其是企业应用软件系统来说,除了软件运行质量、文档质量以外,代码的质量也是非常重要的。软件开发进行到编码阶段的时候,最大的风险就在于如何保证代码的易读性和一致性,从而使得软件的维护的代价不会很高。 在软件开发的过程中,以下几种情形随处可见: 1) 软件维护时间长,而且维护人员的积极性不高: 做过软件维护的开发人员,尤其是在接手不是自己开...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2011/07/01 09:03

常用 Java 静态代码分析工具的分析与比较

简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能、特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中。 引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷。Java 静态代码分析(static code analysis)工...

21
172
发表了问答
2013/07/03 16:28

求个eclipse PMD的插件,安装地址http://pmd.sf.net/eclipse貌似不能用了,而且这里http://sourceforge.net/projects/pmd/下下来的也不能安装

求个eclipse PMD的插件,安装地址http://pmd.sf.net/eclipse貌似不能用了,而且这里http://sourceforge.net/projects/pmd/下下来的也不能安装。 求一个可以安装的, 发到邮箱 qing878@gmail.com 谢谢

2
0
发表了问答
2012/06/19 10:15

怎样实现版本管理工具与静态检查工具的结合

工作中遇到如下的情况,想对两个代码版本之间变更的地方用静态检查工具做代码检查,比如用svn作为版本管理工具,用PMD做静态检查工具,当用svn比较出两个版本之间的变更的部分时,怎样用PMD那样的工具来对变更的部分做静态检查,或有什么直接包含了版本控制与静态检查的工具?

3
0
发表了问答
2012/02/20 16:51

PMD、FindBug、checkstyle、sonar这些代码检查工具的区别?

PMD、FindBug、checkstyle、sonar这些代码检查工具的区别?各自的侧重点是什么?

4
2
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
3 评论
324 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部