gpt4 book ai didi

maven - 无法在 maven-pmd-plugin 5.0.2 中使用自定义规则集

转载 作者:行者123 更新时间:2023-12-04 19:10:55 38 4
gpt4 key购买 nike

我希望 maven-pmd-plugin 包含我指定的规则集并排除一些规则(特别是 UselessParentheses)

就像 documentation 中描述的一样,我将以下内容放在所有模块的父级 pmd.xml 中:

  <reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.0</version>
<configuration>
<rulesets>
<ruleset>/home/ubuntu/ruleset.xml</ruleset>
</rulesets>
</configuration>
</plugin>
</plugins>
</reporting>

并准备了一个这样的自定义规则集:

  <!-- We'll use the entire rulesets -->
<rule ref="rulesets/java/basic.xml"/>
<rule ref="rulesets/java/imports.xml"/>
<rule ref="rulesets/java/codesize.xml"/>
<rule ref="rulesets/java/design.xml"/>
<rule ref="rulesets/java/strings.xml"/>
<rule ref="rulesets/java/unusedcode.xml"/>

<!-- We want everything from this except some -->
<rule ref="rulesets/java/unnecessary.xml">
<exclude name="UselessParentheses"/>
</rule>

作为主要部分。

然而,当我运行 mvn clean jxr:jxr pmd:check我在报告中有“无用括号”。此外,使用 -X 运行它节目
[DEBUG] Preparing ruleset: java-basic
[DEBUG] Before: java-basic After: java-basic.xml
[DEBUG] The resource 'rulesets/java/basic.xml' was found as jar:file:/home/ubuntu/.m2/repository/net/sourceforge/pmd/pmd/5.0.2/pmd-5.0.2.jar!/rulesets/java/basic.xml.
[DEBUG] Preparing ruleset: java-unusedcode
[DEBUG] Before: java-unusedcode After: java-unusedcode.xml
[DEBUG] The resource 'rulesets/java/unusedcode.xml' was found as jar:file:/home/ubuntu/.m2/repository/net/sourceforge/pmd/pmd/5.0.2/pmd-5.0.2.jar!/rulesets/java/unusedcode.xml.
[DEBUG] Preparing ruleset: java-imports
[DEBUG] Before: java-imports After: java-imports.xml
[DEBUG] The resource 'rulesets/java/imports.xml' was found as jar:file:/home/ubuntu/.m2/repository/net/sourceforge/pmd/pmd/5.0.2/pmd-5.0.2.jar!/rulesets/java/imports.xml.

所以看起来 pmd 忽略了我的自定义规则集。

我希望自定义规则集起作用。我究竟做错了什么?

最佳答案

您已配置 maven-pmd-插件 作为 reporting这是

Reporting contains the elements that correspond specifically for the site generation phase. Certain Maven plugins can generate reports defined and configured under the reporting element.



这意味着您应该使用以下命令执行:-
mvn clean site

如果您想执行您提到的,请将您的配置复制到 builds ,例如
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.0</version>
<configuration>
<rulesets>
<ruleset>/home/ubuntu/ruleset.xml</ruleset>
</rulesets>
</configuration>
</plugin>
</plugins>
</build>

然后当你执行
mvn clean jxr:jxr pmd:check

结果应该如你所料。您可以进一步了解 Maven Pom, here .

我希望这可能会有所帮助。

问候,

查理·Ch。

关于maven - 无法在 maven-pmd-plugin 5.0.2 中使用自定义规则集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15133822/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com