问题标签 [pmd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4831 浏览

java - Pmd ant 脚本给出 java.lang.NoClassDefFoundError: org/jaxen/JaxenException

我试图运行上面的 ant 脚本来执行 PMD 规则集 pmd-rules.xml 但我收到以下错误。

你能告诉我我错过了什么吗?甚至 jaxen-1.1.1.jar 也在 lib 目录中。但它显示错误。我在 ant 脚本中遗漏了什么。

0 投票
1 回答
635 浏览

eclipse - Eclipse 3.2 的 PMD 3.2.6 问题

我已经使用http://pmd.sourceforge.net/integrations.html#eclipse中提到的步骤在 eclipse 3.2 上安装了 PMD 3.2.6 插件

但是,如果我尝试打开 PMD 视图或尝试 PMD 代码检查,我会收到以下错误。请注意,我确实在安装后重新启动了我的 Eclipse。当我在 Eclipse 3.3 中安装它时,它也运行良好。不幸的是,由于其他一些限制,我不得不坚持使用 Eclipse 3.2。

以前有人遇到过这个问题吗?

0 投票
3 回答
4629 浏览

java - Java 可折叠 if 语句

我使用PMD检查我的代码。在大多数情况下,它给了我非常有用的提示,但我不知道在以下情况下可以改进什么。

原始代码如下所示:

PMD 告诉我:

有时,可以通过用布尔短路运算符分隔它们的条件来合并两个“if”语句。

为简单起见,我们只使用 a 和 b 作为布尔变量。那么这段代码如下所示:

这可以转换为以下之一:

最后

所以我将我的代码简化为

然而,PMD 一直在抱怨(实际上是关于所有三个版本)。这是误报还是有更好的方法来编写 if 条件?

0 投票
1 回答
3950 浏览

java - 对象构造期间调用的 pmd 规则可覆盖方法

我正在通过构造函数内部的设置器在我的 DTO 中初始化一些成员变量。

但是下面的 pmd 错误显示了如何消除该 pmd 规则违规?

对象构造期间调用的覆盖方法“setAbc”

}

0 投票
2 回答
372 浏览

java - 使用 Checkstyle 验证域对象 get /sets

我遇到问题或正在寻找可以验证以下内容的 checkstyle 规则。这是一项微不足道的检查,但当有人手动更改获取/设置名称时,这将是一个值得的规则。

我想要一个规则,当在代码中发现类似的东西时,它将验证 get/sets 和错误。

示例:原始属性是描述。但是开发者需要把它改成一个shortDescription,却搞乱了重构。

或者,如果有任何其他规则引擎(如 Pmd)可以捕获这一点。或者自定义规则集,我想我可以创建。

0 投票
1 回答
141 浏览

java - 是否有用于报告 Java 中向下转换的工具?

想知道是否有报告工具(例如 PMD)可以报告 Java 代码中的向下转换。

0 投票
1 回答
3273 浏览

ant - 哈德森/詹金斯 PMD 配置

我是 Jenkins 的新手,刚刚开始配置它。这是我到目前为止所做的:

  1. 安装并配置 Jenkins 以显示主页。添加了 PMD 插件。
  2. 将 设置HUDSON_HOME为特定目录 > C:\Work\Jenkins
  3. 配置了一个测试版本来运行一个简单的无操作 ant 脚本。它运行成功

  4. 编写了一个独立pmdbuild.xml的文件来检查 C:\myview 中的一组文件(我使用的是 clearcase)。此 xml 还将输出 pmd_results.xml 复制到工作区目录$HUDSON_HOME/[job-name]/workspace

  5. 现在我pmdbuild.xml在我的主要构建中添加了一个步骤。所以我的构建有两个步骤:运行一个简单的脚本,什么都不做。湾。运行 pmdbuild.xml生成pmd_results.xml并将其放入$HUDSON_HOME/[job-name]/workspace(硬编码,因为 Jenkins PMD 插件需要该文件)

  6. Jenkinspmd_results.xml使用插件自动获取并显示警告和所有内容。

现在的问题:

  • 如果我单击 PMD 结果中的文件名,它会在filenotfound查找$HUDSON_HOME/[job-name]/workspace.

  • 我的 java 代码文件放在 C:\myview (一个清晰的快照视图)

我的问题是,我是否需要将所有代码文件都放在里面$HUDSON_HOME/[job-name]/workspace?意思是我不能告诉 Jenkins 在 C:\myview 或任何其他目录中查找 PMD 输入文件而不是$HUDSON_HOME/[job-name]/workspace??

很抱歉描述太长了。

0 投票
2 回答
790 浏览

pmd - PMD Eclipse 插件是开源的吗?

PMD Eclipse 插件是开源的吗?如果是,请问来源在哪里?

我知道 PMD 是开源的,代码可以在这里找到:http: //sourceforge.net/projects/pmd/files/pmd/

Netbeans 等其他插件在这里有开源代码:http: //sourceforge.net/projects/pmd/files/pmd-netbeans/pmd-netbeans-2.2.7/

但是eclipse插件页面似乎没有可用的源代码:http: //sourceforge.net/projects/pmd/files/pmd-eclipse/3.2.6/

提前致谢。

0 投票
1 回答
240 浏览

java - 解决 PMD 错误

我正在使用 PMD 检查编码标准

我对以下 PMD 显示错误的点感到困惑

  1. 一个方法应该只有一个退出点,并且应该是方法中的最后一个语句

目前在我的方法中它是

我的代码错了吗??请告诉我,如果它错了,我们怎样才能改变它??

0 投票
5 回答
12913 浏览

java - Java 代码 PMD 抱怨圈复杂度,共 20

当我在我的 Java 代码上运行 PMD 时,它显示的错误消息之一是“STWeb 类具有 20 的圈复杂度”。通常我的java类是这样的

如您所见,根据我的业务需求,我需要使用许多 if 和 if else 对类进行编码,因此循环复杂性增加的原因,请告诉我根据标准的可行方法是什么?