gpt4 book ai didi

Gradle 无法运行 checkstyle

转载 作者:行者123 更新时间:2023-12-02 05:14:26 26 4
gpt4 key购买 nike

我的笔记本电脑上有一个 java 项目,我正在使用 gradle 构建它。所有依赖项都在文件系统中,因为我在处理它时大部分时间都处于离线状态。反正数量也不算太多。

build.gradle:

repositories {
flatDir {
dirs "${rootDir}/lib/main", "${rootDir}/lib/test", "${rootDir}/lib/quality"
}
}

ext.configDir = "${rootDir}/gradle/config"
ext.scriptsDir = "${rootDir}/gradle/scripts"

现在我需要对我的代码添加一些质量检查。我很幸运能够让 PMD 检查工作,但对于 checkstyle 就没那么幸运了。来自 gradle 发行版的示例,我读过的 gradle in action 书,gradle 文档似乎并不是火箭科学,但我就是无法让它工作,这变得非常令人沮丧,特别是对于 ant 来说,这将是一个五分钟的任务。无论如何,这是我的 checkstyle 的 gradle.build 条目:

apply from: "${scriptsDir}/checkstyle.gradle"

这是我的checkstyle.gradle(部分显示):

apply plugin: 'checkstyle'

ext.checkstyleConfigDir = new File(configDir, "checkstyle")
ext.checkstyleReportsDir = new File(reportsDir, "checkstyle")
ext.xslStyleFile = new File(checkstyleConfigDir, "checkstyle-noframes.xsl")

checkstyle {
toolVersion = '6.10.1'
configFile = new File(checkstyleConfigDir, 'sun_checks.xml')
ignoreFailures = true
showViolations = true
}

checkstyleMain.doLast {
def main = new File(checkstyleReportsDir, "main.xml")
if (main.exists()) {
ant.xslt(in: main, style: xslStyleFile, out: new File(checkstyleReportsDir, "main.html"))
}
}

dependencies {
checkstyle( 'com.puppycrawl.tools:checkstyle:6.10.1' )
}

但是,当运行我的构建时,checkstyle 任务失败,如下所示:

* What went wrong:
Execution failed for task ':checkstyleMain'.
> java.lang.ClassNotFoundException: com.puppycrawl.tools.checkstyle.CheckStyleTask

查看 checkstyle-6.10.1.jar 内部,我可以看到没有像 com.puppycrawl.tools.checkstyle.CheckStyleTask 这样的类,但有一个名为 com.puppycrawl .tools.checkstyle.ant.CheckStyleAntTask 相反,我怀疑这是 gradle 应该调用的。但是我不知道如何让 gradle 调用它。

我唯一的怀疑是我的 toolVersion = '6.10.1' 未正确定义,并且 gradle 使用某些默认值进行调用。然而,所有 gradle api 文档对此的说明都是这样的:“String toolVersion 要使用的代码质量工具的版本。”

那么我做错了什么以及应该如何解决它。

预先感谢您的投入。

最佳答案

您在 Gradle 中遇到了错误 ( GRADLE-3314 )。此问题已在 Gradle 2.7 中修复,应该很快就会发布。您介意验证最新的 2.7 候选版本是否已解决该问题吗?

您可以从 gradle release candidate 获取 Gradle 2.7-rc-2登陆页面。

关于Gradle 无法运行 checkstyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32444952/

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