当前位置: 首页 > 知识库问答 >
问题:

Gradle无法运行checkstyle

马安邦
2023-03-14

我的笔记本电脑上有一个java项目,我正在用Gradle构建它。所有依赖项都在文件系统中,因为我在处理它时大部分时间都是脱机的。反正也不算太多。

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

ext.configDir = "${rootDir}/gradle/config"
ext.scriptsDir = "${rootDir}/gradle/scripts"
apply from: "${scriptsDir}/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' )
}
* 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要使用的代码质量工具的版本。”

所以我做错了什么,我该如何修复它。

提前感谢您的投入。

共有1个答案

东门胤
2023-03-14

您在Gradle(GRADLE-3314)中遇到了一个bug。这个问题在等级2.7中被修复,应该很快就会出来。您介意验证一下这个问题是否已经用最新的2.7版本Candiate解决了吗?

你可以从Gradle release候选登陆页面中抓取Gradle2.7-RC-2。

 类似资料:
  • 我有一个用TestNG运行的简单代码,但是我不能用Gradle运行,因为它说没有找到主方法,这并不奇怪,因为我使用注释。 但在这种情况下,如果必须使用Gradle,如何运行代码。 请注意,我对Gradle很陌生,对这方面的知识不多。 代码: 上面的代码与TestNG库完美运行。然而不是格拉德尔。 以下是我的Gradle构建设置: Gradle返回没有Main方法。 谢谢你的帮助。

  • 分级测试 任务:编译Java FAILED 失败:生成失败,出现异常。 出错的地方:任务': compileJava'执行失败。 无法解析配置': detachedConfiguration1'的所有依赖项。无法解析org.springframework.boot: spring-boot-依赖项:2.2.7.RELEASE.需要:项目:

  • 我正在尝试使用IntelliJ Community edition和Gradle5.5.1运行一个Cucumber/Selenium项目。 我的TestRunner类如下:

  • 我在Android Studio中构建项目时遇到了一个问题,几周前它还能正常工作,但当我今天试图运行该项目时,它失败了。下面是我得到的错误消息: org.Gradle.tooling.gradleConnectionException:无法使用分级发行版“http://services.Gradle.org/distributions/gradle-1.7-bin.zip”执行生成。:无法使用分级

  • 问题内容: 我已经配置了一个jenkins ubuntu奴隶,我想在它上运行我的gradle构建(与gradle插件)。问题是,当运行詹金斯构建工作时,我得到: 在从属服务器(相同用户)的命令行上运行相同的gradle命令时,它将成功运行。 问题答案: 找到了解决方法!我已经开始使用gradle包装器来运行gradle构建。我做了两件事: 按照本页上的说明创建gradlew(和其他文件)并在我的存