удаление общего журнала и использование slf4j вызывает ошибки весной - PullRequest
1 голос
/ 29 июня 2010

В частности, я использую Spring только для настройки моего проекта через ApplicationContext. В моем весеннем xml я загружаю некоторые свойства bean-компонента через PropertyPlaceholderConfigurer. Всякий раз, когда в зависимостях я меняю commons-logging-x.x на jcl-slf4j.jar, загрузка контекста завершается неудачно с ClassNotFoundExceptions на подстановках подстановки. Пример:

В моем spring.xml есть:

<bean id="testbean" class="${testbean.implementingClass}"/>

где testbean.implementingClass определен в spring.properties:

testbean.implementingClass=my.implementation.TestClass

Если я запускаю проект, используя jar для общего журнала, все работает отлично. Если я изменяю его на jcl-slf4j, то я получаю ClassNotFoundException, что класс [$ {testbean.implementingClass}] не был найден, то есть он не выполняет замену заполнителя. Кто-нибудь наблюдал это?

РЕДАКТИРОВАТЬ: Моя проблема не связана с банками, потому что: От http://www.slf4j.org/legacy.html:

Наша реализация JCL over SLF4J позволит вам постепенно перейти на SLF4J, особенно если некоторые библиотеки, от которых зависит ваше программное обеспечение, продолжат использовать JCL в обозримом будущем. Вы можете сразу же воспользоваться преимуществами надежности SLF4J и одновременно сохранить обратную совместимость. Просто замените commons-logging.jar на jcl-over-slf4j.jar. Впоследствии, выбор базовой структуры ведения журнала будет сделан SLF4J вместо JCL, но без головной боли загрузчика классов, изводящей JCL. Базовая структура ведения журнала может быть любой из сред, поддерживаемых SLF4J. Зачастую замена commons-logging.jar на jcl-over-slf4j.jar немедленно и навсегда решает проблемы загрузчика классов, связанные с ведением журнала общего достояния.

1 Ответ

1 голос
/ 29 июня 2010

Когда вы используете jcl-slf4j, вы должны убедиться, что вы исключили все зависимости commons-logging из вашего проекта. Убедитесь, что в пути к классам нет фляги регистрации общего ресурса.

...