Анализ кода загрузки пружины Gradle с использованием SonarQube через Jenkins выдает ошибку.
У меня в корне проекта загрузки пружины Gradle мой файл sonar-project.properties со следующей информацией
sonar.projectKey=some-project-key
sonar.projectName=some-project-name
sonar.projectVersion=1.0
sonar.sources=src/main/java/
sonar.exclusions=./src/main/resources/**
sonar.language=java
sonar.java.sources=1.8
sonar.java.binaries=build/classes/java/main
В Jenkins в разделе «Глобальная конфигурация инструмента» сканер SonarQube настроен как
Name: SonarScanner
Install Automatically is checked
Install from Maven Central: SonarQube Scanner 3.0.3.778
В Jenkinsfile этап определен как
stage('SonarQube') {
environment {
scannerHome = tool 'SonarScanner'
}
steps {
withSonarQubeEnv('sonarqube') {
sh "${scannerHome}/bin/sonar-scanner"
}
timeout(time: 10, unit: 'MINUTES') {
waitForQualityGate abortPipeline: true
}
}
}
Когда задание запущено, я получаю следующееошибка
INFO: JavaClasspath initialization
ERROR: Invalid value for sonar.java.binaries
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 5.890s
INFO: Final Memory: 48M/120M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: No files nor directories matching 'build/classes/java/main/**'
Судя по всему, свойство sonar.java.binaries вызывает проблему.
Я экспериментировал со следующими значениями одно за другим для свойства sonar.java.binaries.Ничто не работает, и каждый раз, когда я получаю ту же ошибку.
build//classes//java//main
build/classes/java/main
build/classes
*//build//classes//java//main//**
//build//classes//java//main//**
build//classes//java//main//**
build/classes/java/main/**
Я нахожусь в конце моего ума.Буду признателен, если кто-нибудь сможет мне помочь.