исключение slf4j с кварцем - PullRequest
7 голосов
/ 18 марта 2011

Я пытаюсь использовать кварц в простом примере в проекте. Я получаю следующее исключение, я не уверен, что это значит ... Однако я обновил свой slf4j до 1.6.1 в своем файле POM, даже когда это все еще появляется,

    SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding.
SLF4J: Your binding is version 1.5.5 or earlier.
SLF4J: Upgrade your binding to version 1.6.x. or 2.0.x
Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:121)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:268)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:241)
    at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
    at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
    at org.quartz.impl.StdSchedulerFactory.<init>(StdSchedulerFactory.java:249)
............

Любая помощь по этому вопросу будет принята с благодарностью. Спасибо.

Ответы [ 2 ]

13 голосов
/ 25 марта 2011

Для использования одной и той же версии вам нужны все ваши зависимости SLF4J.

SLF4J: Your binding is version 1.5.5 or earlier.
SLF4J: Upgrade your binding to version 1.6.x. or 2.0.x

Если вы посмотрите на ваше дерево зависимостей, я ожидаю, что вы найдете более одной версии SLF4J для различных jar-файлов, которые он использует.

Например

[INFO] +- org.hibernate:hibernate-core:jar:3.5.3-Final:compile
[INFO] |  +- antlr:antlr:jar:2.7.7:compile (version managed from 2.7.6)
[INFO] |  \- org.slf4j:slf4j-api:jar:1.5.8:compile
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.5.8:compile

Здесь две команды slf4j имеют одинаковую версию.

5 голосов
/ 18 марта 2011

Похоже, привязка SLF4J, используемая внутри кварца, слишком старая. Вы должны исключить старую версию из кварца и явно добавить новую в ваш проект. Запустите mvn dependency:tree и опубликуйте свой результат здесь. Тогда я смогу дать вам точные инструкции.

...