Я использую Spring (3.0.5.RELEASE
) для создания и управления некоторыми bean-компонентами и получаю очень странные ошибки времени выполнения.
При первом запуске кода я использовал slf4j-api-1.5.11
, и я получил сообщение об ошибке, показанное ниже. Я быстро просмотрел онлайн, и похоже, что метод MessageFormatter.format(String,Object,Object)
не был добавлен в SLF4J до версии 1.6
. Поэтому для меня было очевидно, что где-то в моем графике зависимостей у меня был какой-то компонент (Spring, Camel или дюжина других возможностей) в зависимости от версии SLF4J 1.6+.
Я удалил 1.5.11 из своего пути сборки, заменил его на 1.6.2 и пересобрал. Все еще получаю ту же ошибку. Я проверил файл класса в 1.6.2 Jar, и он определенно содержит этот метод. Я проверил настройки пути к классам, настройки Ivy (которые я использую для управления зависимостями) и даже попытался очистить проект (Eclipse) и запустить его из чистого состояния.
Я начинал думать, что это может быть «вещь Затмения». Но я упаковываю это в WAR и развертываю в Tomcat; Затмение не имеет к этому никакого отношения.
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messagehandler' defined in ServletContext resource [/WEB-INF/spring-config.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.tms.relay.web.RelayWebIngestMessageHandler]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple
Есть идеи? Онлайн поиск не дал никаких рекомендаций, кроме очевидных (обновите Jar). Заранее спасибо!