Исправление «Класс не доступен через ClassLoader». предупреждение с Дженкинсом, SonarQube и Gradle
Когда SonarQube анализирует мой Java-проект, который построен с использованием Gradle и Jenkins, я получаю много предупреждений о том, что сторонние библиотеки не доступны через ClassLoader:
WARN - Class 'org/slf4j/Logger' is not accessible through the ClassLoader.
WARN - Class 'com/google/gson/Gson' is not accessible through the ClassLoader.
Эти библиотеки перечислены как зависимости в моемbuild.gradle.
Я читаюВот об использованииsonar.libraries
собственность, где я бы дал путь к банке. Но поскольку Gradle загружает эти зависимости для меня, пути выглядят так на моей машине:/home/siberut/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.5/6b262da268f8ad9eff941b25503a9198f0a0ac93/slf4j-api-1.7.5.jar
.
И эти пути меняются с каждой новой версией библиотеки.
Так как я могу избавиться от этих предупреждений? Можно ли как-нибудь позволить Грэдлу сообщить SonarQube о местонахождении банок?
Спасибо
Изменить: я использую SonarQube Server 4.1.1,Gradle Plugin 1.23, Сонар Плагин 2.1, Sonar Runner 2.3 иgradle --version
дает:
------------------------------------------------------------
Gradle 1.10
------------------------------------------------------------
Build time: 2013-12-17 09:28:15 UTC
Build number: none
Revision: 36ced393628875ff15575fa03d16c1349ffe8bb6
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Ivy: 2.2.0
JVM: 1.7.0_21 (Oracle Corporation 23.7-b01)
OS: Linux 3.10-2-486 i386
Вот полный консольный вывод сборки, включая все предупреждения:Ссылка на сайт
Дженкинс звонитмой build.gradle как это:
Дженкинс называет SonarQube так:
Изменить: Точно так же, как сказал Питер Niederwieser, позволяя Gradle вызывать SonarQube избавляется от предупреждений. Соответствующая часть моей конфигурацииВот.