如何配置maven checkstyle插件以允许在一行上进行多项分配?

时间:2016-06-15 16:40:06

标签: java maven checkstyle

我正在使用maven checkstyle插件并遇到此错误:

InnerAssignment: Inner assignments should be avoided.

我读到了这个错误here。虽然这个检查对我有意义,但我想配置插件,以便它不会抱怨表单的内部赋值:

i = j = k = l = m = 0;

这是我在代码中真正拥有的内容。怎么办呢?

1 个答案:

答案 0 :(得分:2)

您需要通过提供自己的checkstyle.xml文件来定义自己的规则:

pom文件中,将插件配置为下一个

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>2.17</version>
    <configuration>
        <configLocation>${pom.basedir}/checkstyle.xml</configLocation>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

然后从the checkstyle project获取默认的checkstyle.xml文件,只需删除模块InnerAssignment即可对其进行自定义。为此,只需从您自己的checkstyle.xml文件中删除以下行:

<module name="InnerAssignment"/>

响应更新:

实际上,我们自定义此规则的方式无法满足您的要求,因为您可以决定通过分配类型而不是按照您的方式启用。我的意思是,如果你决定为=禁用它,你实际上会为i = j = k = l = m = 0;禁用它,但也会String s = Integer.toString(i = 2);禁用它,这不是你想要的。此外,我做了测试,甚至我们在文档中的内容都不起作用,似乎这个规则甚至不可配置,所以你保持原样,或者你按照上面的建议删除它。