java - PMD 多个规则集通过构建,但单个规则集构建失败

标签 java maven maven-plugin pmd

我在我的项目中使用 PMD maven 插件,我发现其中有非常奇怪的行为。以下 pom.xml 配置因 basic.xml 中的违规而导致构建失败 -

<configuration>
    <rulesets>
        <ruleset>${project.basedir}\ruleset\basic.xml</ruleset>
        <!-- ruleset>${project.basedir}\ruleset\braces.xml</ruleset>
        <ruleset>${project.basedir}\ruleset\design.xml</ruleset>
        <ruleset>${project.basedir}\ruleset\controversial.xml</ruleset>
        <ruleset>${project.basedir}\ruleset\coupling.xml</ruleset>
        <ruleset>${project.basedir}\ruleset\clone.xml</ruleset>
        <ruleset>${project.basedir}\ruleset\comments.xml</ruleset-->
    </rulesets>
</configuration>

但是下面这个顺利通过了构建 -

<configuration>
    <rulesets>
        <ruleset>${project.basedir}\ruleset\basic.xml</ruleset>
        <ruleset>${project.basedir}\ruleset\braces.xml</ruleset>
        <ruleset>${project.basedir}\ruleset\design.xml</ruleset>
        <ruleset>${project.basedir}\ruleset\controversial.xml</ruleset>
        <ruleset>${project.basedir}\ruleset\coupling.xml</ruleset>
        <ruleset>${project.basedir}\ruleset\clone.xml</ruleset>
        <ruleset>${project.basedir}\ruleset\comments.xml</ruleset>
    </rulesets>
</configuration>

在第二种情况下构建也应该失败。根据我所注意到的,如果最后一个规则(在上面的示例 comments.xml 中)没有任何代码违规,那么即使它上面的任何规则集(basic.xml、花括号.xml 等)被破坏,构建也不会中断。 ) 存在代码违规行为。我无法理解这种行为背后的原因。有人可以帮我解决这个问题吗?

最佳答案

我发现了这个问题。 Maven 插件版本 3.3 存在问题。现在我使用的是 3.1 版本,完全相同的代码可以按预期工作。

关于java - PMD 多个规则集通过构建,但单个规则集构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27243141/

相关文章:

java - 如何覆盖 maven-compiler-plugin 的配置。 (构建目录,我想使用配置文件进行更改)

java - ThreadPoolExecutor异常通知

java - 在 Static void main 中调用方法

java - 使用maven部署javafx hsqldb项目

java - 将Spring boot war文件部署到Tomcat时如何指定配置文件?

java - 你可以让一个 Maven 插件引入另一个插件吗?

java - Maven 无法找到或加载主类

java - 在 Android 中将图像添加到 2d 游戏?

java - 项目云计算仿真环境

java - IntelliJ 无法找到或加载主类远程信息处理。GetTelematicsData