Как зависеть от 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 уже должен быть предоставлен в загрузчике классов плагина времени выполнения, поэтому в основном он должен работать "из коробки". С какой проблемой вы сталкиваетесь?

Другие вопросы по тегам