【问题标题】:Where do I put module elements in Checkstyle config file?我在 Checkstyle 配置文件中的哪里放置模块元素?
【发布时间】:2019-04-01 16:32:48
【问题描述】:

我有一个简单的问题,当我运行 maven checkstyle,然后去检查是什么问题,我有:

Line is longer than 80 characters (found 98).

有人知道如何设置超过 80 个字符吗?我在互联网上找到了一些东西,但他们没有告诉我需要把它放在哪里:

<module name="LineLength"> <property name="max" value="120"/> </module>

有人知道吗?

真诚的

【问题讨论】:

    标签: maven checkstyle


    【解决方案1】:

    一般情况下,您需要将这些模块配置放入配置文件中,如下所示。
    注意: LineLength 的位置取决于 Checkstyle 版本。 Checkstyle 8.24 及更高版本:直接在 Checker 下; Checkstyle TreeWalker 下。

    Checkstyle 8.23 及更早版本的示例:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE module PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
        "https://checkstyle.org/dtds/configuration_1_3.dtd">
    
    <module name="Checker">
    
        <!-- FileSetChecks go here ("parent = Checker") -->
    
        <module name="TreeWalker">
    
            <!-- TreeWalker checks go here ("parent = TreeWalker") -->
    
            <module name="LineLength">
                <property name="max" value="120" />
                <property name="ignorePattern" value="^\s*\*\s*\S+$" />
            </module>
    
        </module>
    </module>
    

    正如another answer 中提到的,您可以随后告诉 Maven 您的配置文件在哪里,或者您可以内联指定它(不推荐)。无论哪种情况,您都需要获取您现在正在使用的配置文件的副本,并对其进行修改。

    在普通的旧 Maven Checkstyle 3.0.0 中,配置文件将是 this one。如果您在 Maven 配置中指定 Checkstyle 版本,请修改 URL 中的版本号以匹配它。

    【讨论】:

    • 仅供参考,从大约 checkstyle 8.24 开始,LineLength 模块不允许作为 TreeWalker 的子模块,并且必须是 Checker 的子模块。
    • 啊,具有讽刺意味的是,重大更改现在也会影响 SO 答案。你是对的,从 8.24 开始,它直接在 Checker 下。如图所示。 @尼克布林
    【解决方案2】:

    您可以通过配置maven-checkstyle-plugin(您显然已经使用)来配置自定义检查样式配置

    您可以使用custom-checker-configinline-checker-config

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多