【发布时间】:2020-01-20 23:29:12
【问题描述】:
我正在为我的项目使用 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>
在第二种情况下构建也应该失败。根据我所注意到的,如果最后一条规则(在上面的示例 cmets.xml 中)没有任何代码违规,那么即使它上面的任何规则集(basic.xml、braces.xml 等),构建也不会中断。 ) 有代码违规。我无法理解这种行为背后的原因。有人可以帮我解决这个问题吗?
【问题讨论】:
-
您能否发布失败或更好的示例项目,其中包含要点中的失败。
-
抱歉@UsmanIsmail 迟到了评论。但我在问题中的意思是失败是好的。我的项目根据 basic.xml 存在与代码冲突相关的问题,因此预计会显示失败。但即使我不删除那些违反代码并取消注释其他规则(如上所示),构建也会通过。更多调查表明,如果我在 pom.xml 文件中提到的最后一个规则集(上面示例中的 cmets.xml)没有引发任何违反规则的行为,那么即使项目违反之前提到的其他规则,构建也会成功通过.
标签: java maven maven-plugin pmd