gpt4 book ai didi

gradle - gradle5 中 Sonar 失败,未找到 SourceSetOutput.getClassesDir

转载 作者:行者123 更新时间:2023-12-02 01:49:16 24 4
gpt4 key购买 nike

我在 gradle 5 上运行 sonarqube 时遇到错误,我收到的错误是

What went wrong:
org.gradle.api.tasks.SourceSetOutput.getClassesDir()Ljava/io/File;


Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Exception is:
java.lang.NoSuchMethodError:
org.gradle.api.tasks.SourceSetOutput.getClassesDir()Ljava/io/File;
at org.sonarqube.gradle.SonarQubePlugin.configureSourceDirsAndJavaClasspath(SonarQubePlugin.java:169)
at org.sonarqube.gradle.SonarQubePlugin.lambda$configureForJava$1(SonarQubePlugin.java:104)

我尝试将gradle版本降级到4.0并发现了问题,现在它显示了

:sonarqube
Gradle now uses separate output directories for each JVM language, but this build assumes a single directory for all classes from a source set. This behaviour has been deprecated and is scheduled to be removed in Gradle 5.0
at org.gradle.api.internal.tasks.DefaultSourceSetOutput.getClassesDir(DefaultSourceSetOutput.java:79)
at org.gradle.api.internal.tasks.DefaultSourceSetOutput_Decorated.getClassesDir(Unknown Source)
at org.sonarqube.gradle.SonarQubePlugin.configureSourceDirsAndJavaClasspath(SonarQubePlugin.java:169)

我的代码中的 Gradle 配置如下,

sonarqube {

properties {
property "sonar.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"
property "sonar.exclusions", "**/generated-*/**/*"
property "sonar.sources", "src/main/java"
property "sonar.tests", "src/test/java"
//property "sonar.java.binaries", "${project.buildDir}/classes/main/"
}
}

我相信可以通过将预期属性添加到 sonarqube 属性列表或显式设置源目录来解决该问题。有人可以建议如何做到这一点吗?

最佳答案

我使用 Gradle 5.1,并且使用 org.sonarqube:2.5 观察到同样的情况。但是,当我使用 org.sonarqube:2.7 时,它对我有用。

plugins {
id "org.sonarqube" version "2.7"
}

关于gradle - gradle5 中 Sonar 失败,未找到 SourceSetOutput.getClassesDir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54084855/

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