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

问题描述 投票:0回答:2

我正在为我的项目使用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>

该构建在第二种情况下也应该失败。根据我所注意到的,如果最后一条规则(在上面的示例comment.xml中)没有任何代码冲突,那么即使之上的任何规则集(basic.xml,braces.xml等),构建也不会中断。 )有违反代码的行为。我无法理解这种行为背后的原因。有人可以帮我吗?

java maven maven-plugin pmd
2个回答
1
投票

我发现了问题。 Maven插件版本3.3出现问题。现在我正在使用版本3.1,并且完全相同的代码正在按预期工作。


0
投票

可悲的是,我没有足够的信誉来发表评论,所以我将向您提出问题的答案:您能预感一下maven 3.3中的哪个Issue引起了错误吗?我想它现在有一个解决方案,但是我面临一个类似的问题,即在3.12版中,不同的规则适用于相同的代码行/错误消息。

© www.soinside.com 2019 - 2024. All rights reserved.