2015-07-27 4 views
0

Я знаю, что могу исключить одно из привязок, которое я сделал в maven, поэтому мой springboot.jar содержит только привязки logback и logback-slf, но затем есть эта внешняя банка что я имею в виду путь Spring-boot, вводит привязку slf4j-log4j во время выполнения и путается.Maven SLF4J: путь класса содержит несколько привязок SLF4J [Внешние зависимости]

java -Dprofile=dev -Dloader.path=springboot.jar,/usr/local/hadoop/lib,/usr/local/hbase/lib -jar springboot.jar

SLF4J: Found binding in [jar:file:/runtime/external/classpath/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/build/jar/path/springboot.jar!/lib/logback-classic-1.1.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] 

Как решить этот конфликт, когда связывание является с внешними зависимостями? Спасибо

ответ

0

Вы должны как-то исключить эти банки из вашего пути к классам. Таким образом, вы не должны добавлять hbase lib dir вообще, но перечисляете все jarfiles.

В случае, если вы используете Баш, чтобы запустить приложение вы можете использовать его сопоставление с образцом: /usr/local/hbase/lib/!(slf4j-log4j12-*)

P.S. это не вопрос с пружинной загрузкой ....

+0

если я делаю ls -lrt/usr/local/hbase/lib /! (slf4j-log4j12- *), он не работает – nir

Смежные вопросы