SonarQube 不使用新的 pmd 插件检测规则
SonarQube doesn't detect rules with new pmd plugin
我正在使用 SonarQube v 5.0.1 我已将我的 rules.xml 文件放在 extensions/rules/pmd 目录中。
现在,如果我使用 sonar-pmd-plugin 2.3 版,一切正常 - 我启动声纳,转到规则搜索,可以在 rules.xml 文件中找到所有规则。
但是在切换到 sonar-pmd-plugin 2.4 版后,我找不到我的规则。
我已经在旧的 (v 2.3) 插件中切换了 PMD 版本,但它没有任何效果,所以我猜它不是 PMD,而是插件。规则的默认目录是否已随最新的 pmd 插件或其他内容发生变化?在文档中找不到任何内容。
我在使用 Sonarqube 4.5.5 时遇到了同样的问题。将 sonar-pmd-plugin 从 2.4 降级到 2.3 解决了这个问题。现在我可以看到我在 extensions/rules/pmd.
中输入的自定义规则
我遇到了 Sonarqube 5.6.3 和 sonar-pmd-plugin 2.6 的问题。因此,要查看我的自定义规则,我需要执行以下操作:
- 将规则集定义jar文件和规则列表xml文件放在extensions/rules/pmd路径下,为此我按照这个post.
- 将插件降级到 2.3 版本。
在插件的pmd.properties文件中添加自定义规则,这个文件在org/sonar/l10n /。
例如:
#Add pmdAtgRules
rule.pmd.ActionClassName.name=ActionClassName
rule.pmd.BreaksLogging.name=BreaksLogging
- 重新启动 Sonarqube。
我正在使用 SonarQube v 5.0.1 我已将我的 rules.xml 文件放在 extensions/rules/pmd 目录中。 现在,如果我使用 sonar-pmd-plugin 2.3 版,一切正常 - 我启动声纳,转到规则搜索,可以在 rules.xml 文件中找到所有规则。 但是在切换到 sonar-pmd-plugin 2.4 版后,我找不到我的规则。 我已经在旧的 (v 2.3) 插件中切换了 PMD 版本,但它没有任何效果,所以我猜它不是 PMD,而是插件。规则的默认目录是否已随最新的 pmd 插件或其他内容发生变化?在文档中找不到任何内容。
我在使用 Sonarqube 4.5.5 时遇到了同样的问题。将 sonar-pmd-plugin 从 2.4 降级到 2.3 解决了这个问题。现在我可以看到我在 extensions/rules/pmd.
中输入的自定义规则我遇到了 Sonarqube 5.6.3 和 sonar-pmd-plugin 2.6 的问题。因此,要查看我的自定义规则,我需要执行以下操作:
- 将规则集定义jar文件和规则列表xml文件放在extensions/rules/pmd路径下,为此我按照这个post.
- 将插件降级到 2.3 版本。
在插件的pmd.properties文件中添加自定义规则,这个文件在org/sonar/l10n /。 例如:
#Add pmdAtgRules rule.pmd.ActionClassName.name=ActionClassName rule.pmd.BreaksLogging.name=BreaksLogging
- 重新启动 Sonarqube。