Как зависеть от log4j в плагине Sonarqube?
Я разрабатываю плагин SonarQube 5.6. Этот плагин зависит от библиотеки X (сторонней библиотеки). Библиотека X зависит от Log4J. Чтобы решить проблему с зависимостями, я добавляю зависимость log4j в pom.xml с предоставленной областью действия, определенной в документации SonarQube. Но во время выполнения я получаю класс не найдены исключения, связанные с log4j.
Когда я изменяю свою стороннюю библиотеку, чтобы она больше не использовала log4j (в основном код, связанный с log4j, закомментирован), проблема исчезла.
Как мне добавить зависимость log4j в SonarQube или что нужно сделать, чтобы проблема с log4j была решена в моем плагине SonarQube? Или как лучше всего справиться с такой проблемой, когда контейнер говорит, что он обеспечит зависимость, но это не так?
Зависимость объявляется так:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
1 ответ
Вы должны исключить любую зависимость log4j и вместо этого полагаться на log4j-over-slf4j, чтобы перенаправить любой вызов log4j на slf4j.
log4j-over-slf4j уже должен быть предоставлен в загрузчике классов плагина времени выполнения, поэтому в основном он должен работать "из коробки". С какой проблемой вы сталкиваетесь?