#java #maven #apache-storm #slf4j
#java #maven #apache-storm #slf4j
Вопрос:
Я пытался отладить свой проект, но получил это
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/storm/lib/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/user/.m2/repository/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
что мне делать?
у меня нет никакой зависимости для SLF4J в POM только это
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-core</artifactId>
<version>0.9.6</version>
<scope>provided</scope>
</dependency>
я пытался использовать решения, которые я нашел в похожих сообщениях, но не решил это! Нравится
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>logback-classic</groupId>
<artifactId>ch.qos.logback</artifactId>
</exclusion>
</exclusions>
Я попытался заменить provided
на compile
, но тоже не решил.
Я получил это с помощью mvn dependency:tree
org.slf4j:log4j-over-slf4j:jar:1.6.6:provided
org.slf4j:slf4j-api:jar:1.7.5:compile
Комментарии:
1. Хорошо, но к какой зависимости вы добавили исключения? Я бы начал с запуска a
mvn dependency:tree
, чтобы узнать, подключается ли slf4j к другим имеющимся у вас зависимостям.2. Здесь <groupId>org.apache.storm</groupId> <artifactId>storm-core</artifactId> <версия> 0.9.6</version> <область> при условии </scope> я отредактировал сообщение, используя
mvn dependency:tree
3. @user1 Если вы решили это, было бы ТАК любезно предоставить решение!
4. я уже это сделал!! я принял ответ, который написал иссам
Ответ №1:
У вас есть 2 источника зависимостей для storm, один из / usr/local/storm/lib/ directory, а второй из maven, которые вызывают множественную привязку для sl4j.
Попробуйте использовать только один источник зависимостей.
Комментарии:
1. в моем случае это был каталог smcf.ear в C:Program Файлы, но похожая концепция
Ответ №2:
Следуя строке принятого ответа, я нашел способ попытаться использовать только один источник зависимостей, чтобы снова клонировать / создать проект, над которым я работал. В моем случае это был уже запущенный проект, и, вероятно, из-за низкой скорости соединения у меня возникло несколько проблем с повторным импортом всех проектов Maven. Итак, я немного перепутал настройки проекта, пытаясь получить доступ ко всем зависимостям propper.
Это вызвало некоторые неожиданные изменения в моем проекте pom.xml файл, который привел к ошибке. Итак, повторное клонирование проекта в новую папку и повторный импорт maven с некоторой приличной скоростью Интернета просто отлично сработали для меня. Надеюсь быть полезным. С уважением