【问题标题】:gradle build with checkstyle "Unable to create a Checker" errorgradle build with checkstyle \"Unable to create a Checker\" 错误
【发布时间】:2022-08-09 21:33:23
【问题描述】:

我正在使用gradle Java 项目,其中另一个用户启用了checkstyle 插件。不幸的是,这个添加破坏了我们从 CLI 构建的能力(a\'la gradle build)。但是,出于某种原因,我们仍然能够在 IntelliJ(2021.2 社区版)中进行内部构建。

我正在使用 gradle 版本 4.10.2 构建。下面是来自我的build.gradle 的 sn-p,我们在其中启用了checkstyle

subprojects { project ->
    apply plugin: \'java\'
    apply plugin: \'groovy\'
    apply plugin: \'checkstyle\'

...

    checkstyle {
        configFile rootProject.file(\'checkstyle.xml\')
        toolVersion \'7.1.1\'
    }
...

我已经检查了兼容性指南here。据此,我应该可以使用这个版本。

不幸的是,当我尝试 gradle build 并出现以下错误时,我的构建失败了:

> Task :cache:checkstyleMain FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task \':cache:checkstyleMain\'.
> Unable to create a Checker: configLocation {<REDACTED>}, classpath {<REDACTED>}.

在我的checkstyle.xml 中,我具有以下结构:

<module name=\"Checker\">

    <module name=\"FileTabCharacter\">
        <property name=\"eachLine\" value=\"true\"/>
    </module>
    <module name=\"LineLength\">
        <property name=\"max\" value=\"150\"/>
        <property name=\"ignorePattern\" value=\"^package.*|^import.*|a href|href|http://|https://|ftp://\"/>
    </module>

    <module name=\"TreeWalker\">
...

奇怪的是,当我将TreeWalker 下的LineLength 块作为父级移动时,错误消失了,checkstyle 在 CLI 和 IDE 中似乎都可以正常工作。我从this post 得到了这个想法,但是checkstyle 行为的这种变化应该已经被引入到 8.24 并且不应该是我尝试使用的版本所必需的。

任何想法为什么checkstyle 会这样做?

    标签: java gradle intellij-idea


    【解决方案1】:

    LineLength 在检查样式文件中的位置取决于 Checkstyle 版本。 Checkstyle 8.24 及更高版本:直接在 Checker 下; Checkstyle < 8.24:在 TreeWalker 下。

    根据 build.gradle 文件,使用的 checkstyle 版本是 7.1.1

    checkstyle {
            configFile rootProject.file('checkstyle.xml')
            toolVersion '7.1.1'
        }
    

    【讨论】:

      猜你喜欢
      • 2020-04-22
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      • 2022-12-02
      • 2022-12-02
      • 2017-02-23
      • 1970-01-01
      相关资源
      最近更新 更多