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

code-analysis - 可以定制 PMD 以完全支持一种新语言吗?

能否在合理的时间内定制 PMD 以完全支持一种新语言。我的意思是我知道技术上几乎任何事情都可以完成,但我想知道这是否可以在合理的时间内完成?例如 < 2 周

此页面提到如何编写 CPD 解析器http://pmd.sourceforge.net/cpd-parser-howto.html

但这只是用于复制/粘贴检测吗?编写 CPD 解析器是否可以让我在 rile 集方面完全支持 PMD?

0 投票
2 回答
5373 浏览

maven-2 - 我们可以在构建目标中包含 maven pmd 插件执行吗?

伙计们,我想在构建项目时生成 pmd 报告,所以我在我的 pom.xml 的构建部分中添加了插件,但它仍然不会执行,直到我明确调用 mvn clean install pmd:pmd。我想用 mvn clean install 本身执行它。是否可以 ?我的 pom 条目如下:

提前致谢。

0 投票
1 回答
4008 浏览

ant - 在 Ant 中使用自定义 PMD 规则集文件

我想为我的构建使用自定义 PMD 规则集文件。基本上,我想使用许多关闭了一些规则的内置规则集包。

例如,假设我只想要字符串和基本规则,我有这个规则集文件,名为ruleset.xml

然后我在我的 Ant 任务中包含对该文件的引用,如下所示:

这失败了,但有以下例外:

构建失败 E:\build.xml:120: java.lang.RuntimeException: 找不到该类 找不到资源规则集/basics.xml。确保资源是有效的文件或 URL,或者位于 net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:229) 的 CLASSPATH 上 net.sourceforge.pmd.RuleSetFactory.createSingleRuleSet(RuleSetFactory.java:135) net.sourceforge.pmd.RuleSetFactory.createRuleSets(RuleSetFactory.java:85) ...

基本上,规则集 xml 文件会破坏任务的类路径。我尝试将类路径元素添加到 pmd 任务,但这不起作用。

我必须添加什么才能让我的自定义规则集文件正常工作?我更愿意在 ant 文件中添加一些内容,而不是在规则集文件中添加内容。

0 投票
5 回答
13433 浏览

java - 字符串比较中文字的正确位置是什么?

我有

但PMD说

0 投票
2 回答
495 浏览

pmd - PMD xpath 规则警告在 BigDecimal 上使用 equals()

有人可以建议一个 PMD xpath 规则来警告调用该equals()方法java.math.BigDecimal将检查值和比例,这通常(除非对于某些工程类型的应用程序)可能是一个错误。既然1.0不等于1.00,就应该使用compareTo

0 投票
3 回答
9061 浏览

java - PMD的ArrayIsStoredDirectly规则背后的推理

PMD 在 Sun Security 规则集中有一个名为 ArrayIsStoredDirectly 的规则:

接收数组的构造函数和方法应该克隆对象并存储副本。这可以防止用户未来的更改影响内部功能。

这是他们的例子:

我不认为我完全理解这条规则背后的原因。是因为传递的数组中的值可以在其他地方更改吗?在这方面,传递集合与传递数组之间有区别吗?

0 投票
1 回答
789 浏览

netbeans - Netbeans 中的 PMD 和自动生成的代码

我正在使用 Netbeans 构建一个 GUI 应用程序,并且 PMD “抱怨”自动生成的代码中的内容。我可以将 PMD 配置为忽略自动生成的代码(就像我对 Checkstyle 所做的那样)吗?

谢谢你。

0 投票
1 回答
999 浏览

java - 使用 PMD 的自定义规则 - 在运行时将值传递给规则

我的要求是解析 java 文件并找到实现特定接口的类或接口。因此,我开始在 PMD 中实现自定义规则。我能够编写一个 XPath 表达式来搜索类和接口,但无法找出将要进行搜索的接口名称传递给 XPath 规则的正确方法。一种方法是在调用 PMD 之前定义一个属性并更新 xml 文件。

上述方法的问题是不能在线程中调用 PMD,因为 xml 将被共享。

有没有人遇到过这样的 PMD 问题,即在运行时将值传递给规则?

0 投票
2 回答
919 浏览

checkstyle - 使用声纳分析源代码

是否可以直接从 svn 存储库中获取源代码并使用声纳对其进行分析?或者配置声纳只是为某些源运行 Checkstyle 或 pmd 插件?我需要在非 Maven 项目上执行此操作。

0 投票
1 回答
5339 浏览

java - 在 eclipse pmd 插件中添加新的基于 java 的 PMD 规则

我们如何在 eclipse pmd 插件中添加新的基于 java 的 pmd 规则?

我收到以下错误:

无效的类实现。类必须在插件类路径中并实现规则接口。

我用 AbstractRule 类扩展了规则类。