java.lang.NoSuchMethodError: ch.qos.logback.classic.LoggerContext.getBithTime () - PullRequest
8 голосов
/ 15 марта 2012

Почему я получаю эту ошибку:

java.lang.NoSuchMethodError: ch.qos.logback.classic.LoggerContext.getBithTime()

Я предполагаю, что опечатка была исправлена, и версии slf4j и logback не совпадают, но я не смог найти ничего в примечаниях к выпуску, где указано, какие версии совместимы.

В настоящее время я использую org.slf4j.api 1.6.1 и ch.qos.logback.classic 0.9.27.

Они из Eclipse Orbit, поэтому изменить версию не так-то просто.

1 Ответ

11 голосов
/ 15 марта 2012

Цитирование Logback новости :

25 января 2011 г. - выпуск версии 0.9.28

Срочные изменения: в интерфейсе Context ранее неправильно написанное свойство bithTime теперь переименовывается в birthTime.

В интерфейсе Context ранее неправильно написанное свойство bithTime теперь переименовывается в birthTime. Это отсталое несовместимое изменение. Все ранее существовавшие ссылки на свойство "bithTime" теперь необходимо ссылаться как "birthTime".

На самом деле 0.9.27 объявляет SLF4J 1.6.1 в качестве зависимости. Вы уверены, что во всех ваших JAR-файлах указана версия? Этот метод используется внутренне между модулями Logback, и я предполагаю, что он был переименован во всех из них, что предполагает, что у вас есть разные версии logback-core и logback-classic JAR.

Также действительно стоит подумать об обновлении, этой версии более года, а Logback теперь в 1.x.

...