gpt4 book ai didi

gradle - Checkstyle Gradle在检查样式时无法实例化voidConstantAsFirstOperandInConditionCheck

转载 作者:行者123 更新时间:2023-12-03 03:14:34 24 4
gpt4 key购买 nike

我已配置Gradle构建脚本以使用checkstyle以及添加的sventu checkstyle检查,但是,当我执行checkstyleMain任务时,构建失败并出现以下错误:

* What went wrong:
Execution failed for task ':checkstyleMain'.
> Unable to create a Checker: cannot initialize module TreeWalker - Unable to instantiate AvoidConstantAsFirstOperandInConditionCheck

即使在我的构建中包括了checkstyle jar,也会发生这种情况。以下是我的构建脚本的相关部分:
repositories {
mavenCentral()
maven {
url "http://sevntu-checkstyle.github.com/sevntu.checkstyle/maven2"
}
}

checkstyle {
configFile = new File("etc/config/dev.xml");
toolVersion = "6.8"
}

configurations {
checkstyle
}

dependencies {
checkstyle "com.github.sevntu.checkstyle:sevntu-checks:1.13.4"
}

请注意,当我删除依赖项部分并使用没有配置额外的sevntu检查的checkstyle xml文档进行测试时,该构建工作。我的配置也类似于 sevntu-checkstyle/checkstyle-samples的示例

我在这里想念什么?

最佳答案

所以我终于想通了:

事实证明,仅当您将自定义检查的完整类路径作为每个自定义检查的名称时,https://github.com/sevntu-checkstyle/checkstyle-samples/blob/master/gradle-project/build.gradle的示例才有效。

这是由于checkstyle不知道自定义检查在包中的位置。事实证明,如果在jar中包含一个checkstyle_packages.xml文件来描述包含支票的软件包,那么checkstyle可以找到答案。

不幸的是,com.github.sevntu.checkstyle:sevntu-checks:1.13.4中没有这样的文件。为了获得此信息,您还需要包括“com.github.sevntu.checkstyle:sevntu-checkstyle-maven-plugin:1.13.4”,该文件基本上只包含checkstyle_packages.xml文件。

因此,我已将其添加到我的依赖项中,并且checkstyle规则最终进行了解析:

dependencies {
checkstyle "com.github.sevntu.checkstyle:sevntu-checks:1.13.4",
"com.github.sevntu.checkstyle:sevntu-checkstyle-maven-plugin:1.13.4"
}

希望这将为以后的人们减轻一些痛苦:)

关于gradle - Checkstyle Gradle在检查样式时无法实例化voidConstantAsFirstOperandInConditionCheck,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31473150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com