Springboot - Могу ли я использовать Jetty с SL4J

Я работаю над проектом SpringBoot - Kotlin - Gradle и, похоже, столкнулся с конфликтами регистраторов. Я использую библиотеку, которая включает в себя slf4j - и поэтому при запуске мне дается чудесное сообщение:

Caused by: java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.slf4j.impl.Log4jLoggerFactory loaded from file:/Users/USERNAME/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-log4j12/1.7.25/110cefe2df103412849d72ef7a67e4e91e4266b4/slf4j-log4j12-1.7.25.jar). If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml: org.slf4j.impl.Log4jLoggerFactory

Добавление этих строк в мой файл build.gradle позволяет мне запускать:

configurations {
    providedRuntime
    compile.exclude(group: 'ch.qos.logback')
}

Однако мое приложение теперь запускается с Кот вместо Причал.

Мой блок зависимостей:

dependencies {
    compile('org.springframework.boot:spring-boot-starter')
    compile("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    compile("org.jetbrains.kotlin:kotlin-reflect")
    compile 'org.springframework.boot:spring-boot-starter-web'
    runtime('org.springframework.boot:spring-boot-devtools')
    testCompile('org.springframework.boot:spring-boot-starter-test')


    //SpringFox
    compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.8.0'
    compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.8.0'
    compile group: 'io.springfox', name: 'springfox-spring-web', version: '2.8.0'

    // SDDF
    compile "org.mitre.sddf:sddf:15.3.2"
}

Есть ли простой способ решить эту проблему и по-прежнему использовать Причал?

Могу я что-нибудь вставить в свой applicaiton.yml или applictaion.properties?

Я предлагаю вам сделать gradle xxx:dependencies, где xxx - это путь к проекту (при условии многопроектной сборки). См. перечисление зависимостей сборки

lance-java 09.03.2018 16:53
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Версия Java на основе версии загрузки
Версия Java на основе версии загрузки
Если вы зайдете на официальный сайт Spring Boot , там представлен start.spring.io , который упрощает создание проектов Spring Boot, как показано ниже.
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
0
1
264
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Что ж, похоже, мне удалось разобраться в своей проблеме (читая журналы немного внимательнее)

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/jstein/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-log4j12/1.7.25/110cefe2df103412849d72ef7a67e4e91e4266b4/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/jstein/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.3/7c4f3c474fb2c041d8028740440937705ebb473a/logback-classic-1.2.3.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.Log4jLoggerFactory]

Я добавил это в свой build.gradle

configurations.all {
 exclude group: 'org.slf4j', module: 'slf4j-log4j12'
}

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