Quarkus: обнаружено несколько привязок SLF4j, но их невозможно найтиJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Quarkus: обнаружено несколько привязок SLF4j, но их невозможно найти

Сообщение Anonymous »

В моем Java-приложении Quarkus я получаю следующее сообщение от slf4j при запуске:

Код: Выделить всё

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/.../quarkus-app/lib/main/org.jboss.slf4j.slf4j-jboss-logmanager-2.0.0.Final.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/.../target/quarkus-app/lib/main/org.openpreservation.jhove.jhove-ext-modules-1.30.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Slf4jLoggerFactory]
SLF4J: The requested version 2.0.6 by your slf4j binding is not compatible with [1.6, 1.7]
SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
Похоже, что в моем pom (сокращенно здесь) существует конфликт между этими двумя внешними зависимостями:

Код: Выделить всё

groupId>org.openpreservation.jhove
jhove-ext-modules
1.30



org.amqphub.quarkus
quarkus-qpid-jms
2.6.1


Я выполнил зависимость mvn:tree -Dverbose -Dincludes="*.slf4j", чтобы найти реализацию slf4j в jhove-ext-modules:

Код: Выделить всё

[INFO] +- org.openpreservation.jhove:jhove-ext-modules:jar:1.30.0:compile
[INFO] |  \- org.w3c:epubcheck:jar:5.1.0:compile
[INFO] |     +- net.sf.saxon:Saxon-HE:jar:11.4:compile
[INFO] |     |  \- org.xmlresolver:xmlresolver:jar:4.4.3:compile
[INFO] |     |     \- org.apache.httpcomponents.client5:httpclient5:jar:5.1.3:runtime
[INFO] |     |        \- (org.slf4j:slf4j-api:jar:2.0.6:runtime - version managed from 1.7.25; omitted for duplicate)
[INFO] |     +- com.jayway.jsonpath:json-path-assert:jar:2.8.0:compile
[INFO] |     |  +- com.jayway.jsonpath:json-path:jar:2.8.0:runtime
[INFO] |     |  |  \- (org.slf4j:slf4j-api:jar:2.0.6:runtime - version managed from 1.7.36; omitted for duplicate)
[INFO] |     |  \- (org.slf4j:slf4j-api:jar:2.0.6:runtime - version managed from 1.7.36; omitted for duplicate)
[INFO] |     \- org.slf4j:slf4j-nop:jar:1.7.36:compile
[INFO] |        \- (org.slf4j:slf4j-api:jar:2.0.6:compile - version managed from 1.7.36; omitted for duplicate)

и добавил следующее исключение:

Код: Выделить всё

        
org.openpreservation.jhove
jhove-ext-modules
${org.openpreservation.jhove.version}


org.slf4j
slf4j-nop



Однако это не изменило результата. Другая зависимость qpid-jms содержит транзитивную зависимость org.jboss.slf4j:slf4j-jboss-logmanager:jar:2.0.0. Если я добавлю для этого исключение, приложение запустится нормально. Однако я хотел бы сохранить эту зависимость для вывода журнала.
Любая помощь или подсказки приветствуются.

Подробнее здесь: https://stackoverflow.com/questions/790 ... be-located
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»