Я получаю сообщение об ошибке при запуске sonarqube на Gradle 5, я получаю сообщение об ошибке:
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 или явно указав исходный каталог. Может кто-нибудь, пожалуйста, совет, как это сделать?