问题标签 [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 投票
6 回答
16360 浏览

java - Java 错误:在 catch 块中抛出新异常,原始堆栈跟踪可能会丢失

在上面的示例中,在粗体线上,我收到 PMD 错误,因为“在 catch 块中抛出了新异常,原始堆栈跟踪可能会丢失”。我知道这个问题已经被问过很多次了,也有很多在线参考资料可供参考。我已经尝试了所有可能的方法。但我仍然无法删除此 PMD 错误。请让我知道这个代码片段有什么问题。提前致谢!

0 投票
3 回答
488 浏览

encoding - 在 Java 项目/源代码中查找编码问题

我目前正在开发一个 Java 项目,我的工作之一就是监视质量。作为工具,我将 Jenkins 与 Sonar 结合使用。这些工具很棒,它们帮助我快速、持续地跟踪问题。

我无法控制的一个问题是,有些人使用 UTF-8 以外的其他编码。

当这样的代码:

... 承诺,Sonar 将帮助我找到“字符串文字平等”问题。但是正如您在第二行中看到的,编码存在问题:“�”通常应该是“ ü ”。

是否有可能通过 Sonar/Findbugs/PMD 找到此类问题...

请指教!谢谢你。

Ps:当然,我已经尝试亲自以及通过电子邮件向我的共同开发人员解释这个问题。我什至自己更改了他们的项目/工作区编码......但不知何故,仍然成功地提交了这样的代码。

0 投票
1 回答
761 浏览

java - 用于检测未使用代码的 PMD - API 使用

我查看了PMD api,我想用它来检测类中未使用的实例变量和方法。我看到它可以从命令行调用,但是我想通过以编程方式调用 PMD 来执行我的类的冗余分析。不幸的是,该 api 不包含有关各种类和方法的任何信息。有没有人有任何关于如何调用 PMD 以编程方式检测冗余代码的信息?

0 投票
3 回答
30770 浏览

java - 可能的空指针解引用的解释和修复

代码审查工具抱怨saveSafeScan(...) 中safeScanWarnings的可能空指针取消引用if (safeScanWarnings != Null & safeScanWarnings.size() > 0)

我想知道这怎么可能?这是因为我们通过引用返回集合吗?

0 投票
1 回答
325 浏览

hudson - 与 hudson 的自定义 PMD 规则集成

我已经编写了一个特定于我的项目要求的自定义 PMD 规则,该规则在独立模式下与声纳一起正常工作(按照链接中给出的步骤)。我需要将其整合到哈德森。

如何将自定义 PMD 声纳规则集成到 Hudson,最好的方法是什么?我需要对 sonar-hudson 插件进行更改吗?

0 投票
2 回答
443 浏览

static-analysis - 如何从命令行使用静态代码分析器 CPD ignoreLiterals 和 ignoreIdentifiers?

这就是 PMD 静态分析器的功能:复制粘贴检测器。

是的,我彻底阅读了http://pmd.sourceforge.net/cpd.html 。

ignoreLiterals但是如果我从 ant-task 运行 CPD,我可以通过指定and来微调它的工作ignoreIdentifiers。如何使用命令行指定这些键?

0 投票
1 回答
2185 浏览

java - 当前有任何将 Sonar 用于 Java 7 代码的解决方法吗?

我尝试在 Java 7 项目(依赖于新的语法特性)上使用 Sonar,而 PMD 部分和 Checkstyle 部分无法解析这些文件。

Findbugs 部分无法读取 Java 7 类文件。

这导致 Sonar 只考虑我的 10% 的课程。

可以有解决方法吗?

编辑:Java 7 兼容性存在问题
请为这个问题投票,因此它将很快得到解决。

0 投票
4 回答
1974 浏览

java - java中的PMD兼容流复制

我有一段用于流复制的代码。

如果我在它上面运行 PMD,我会收到以下警告http://pmd.sourceforge.net/rules/controversial.html#AssignmentInOperand

现在我希望摆脱那个警告,但我能想到的唯一选择是

而且我真的不喜欢这样,因为我最终会重复代码。有没有更优雅的方式来满足这个 PMD 规则?

0 投票
1 回答
1805 浏览

jenkins - 获取空 pmd.xml - 无法将多个日志文件从项目目录复制到工作区

解决 PMD/Clover 的空 XML 文件的问题,我在存储库的根目录中创建了 build.xml 并更改了它的源,以便它可以运行我的另一个目录的测试用例,例如“测试”。

当我在 build.xml 存储路径中的命令提示符下运行 ant 时,会创建所有需要的日志文件。

但是当我从 Jenkins 创建一个新项目并创建一个新版本时,我的测试用例按预期完美运行;但除了 HTML 版本,我看不到任何报告。我想解决我得到的错误,如下所示:

我现在有问题。虽然为 PHP 设置 Jenkins 的步骤被告知要在 15 分钟内完成,但不幸的是,它需要 2 天以上才能完美运行所有内容。一切都意味着获得所有这些图表、报告和图表。

0 投票
1 回答
578 浏览

javascript - 如何在jslint中添加验证规则?

jslint 中有很多选项,例如 adsafe、fragment 等。设置 {adsafe: true} 表示让 jslint 根据 adsafe 的规则验证代码。这里我也有同样的需求,想在jslint中添加自己的规则,但是不知道jslint怎么做。此外,如何将 JsLint 验证器的所有规则一次性导入 Aptana 2.0,以及如何根据它们的严重性对这些规则进行分类。