2013-12-04 5 views
1

Мой основной вопрос. Как настроить Netty для использования slf4j весной? Я продолжаю получать ошибку ниже весной, но не затмение, используя банки slf4j с мостом log4j и api в пути. Я использую набор Spring Tools, весна 3.2.3 и Netty 4 (post jboss).Netty in Spring и slf4j Logger Factory

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 

Программа не работает в строке, где я создаю экземпляр группы соединений после попытки установки фабрики регистрации по умолчанию.

Я действительно новичок в Netty и slf4j. Я несколько раз стучал головой об этом, и немного поработал над Stack Overflow и Интернетом. Мне удалось заставить Netty работать с slf4j в eclipse и использовать Internal Logger Factory. Я попытался настроить slf4j аналогично log4j (файл свойств с добавками).

Я использовал следующий код для InternalLoggerFactory одним из следующих способов с соответствующим импортом.

InternalLoggerFactory.setDefaultFactory(new Slf4JLoggerFactory()); 

и

InternalLoggerFactory.setDefaultFactory(Slf4JLoggerFactory.getDefaultFactory()); 

Эти строки помещаются непосредственно перед моей инициализации группы соединений, но я пробовал их в основной метод моего основного приложения/водителя, а также.

Спасибо за любую помощь. Я бы и действительно ценю это.

+0

В slf4j многое зависит от slf4j-библиотек, которые находятся в пути к классам. Не могли бы вы добавить список банок slf4j, которые вы используете ('* slf4j * .jar')? – Ralph

+0

jul-to-slf4j-1.7.5.jar, slf4j-simple-1.75.jar, slf4j-api-1.75.jar, log4j-to-slf4j-2.0-beta8.jar, log4j-1.2.16.jar и спасибо –

+0

как обновление. может ли проблема быть с классическим журналом? версия 1.0.13 –

ответ

1

«org.slf4j.LoggerFactory »является частью slf4j-api-1.75.jar', поэтому вполне вероятно, что у вас возникла проблема с развертыванием. - Убедитесь, что эта банка действительно находится в пути к классу вашего приложения или если у вас есть веб-приложение, а затем убедитесь, что эта банка развернута на сервере приложений.

Еще одна вещь (возможно, не причина вашей проблемы) заключается в том, что у вас есть log4j-1.2.16.jar и log4j-to-slf4j-2.0-beta8.jar. Это приведет к другим проблемам, потому что log4j-to-slf4j является мостом log4j-to-slf4j, который отправляет log4j loggers на slf4j. На руке ohter у вас есть реальный log4j в вашем пути к классу. Я бы удалил log4j-1.2.16.16. Я надеюсь, что это slf4j docu описать это немного лучше меня.

Другое дело, что братья меня, это то, что вы используете другую версию slf4j. Я настоятельно рекомендую использовать ту же версию для всех slf4j libs!

+0

Это близко к ответу, и я очень ценю ответ. Я спустился в кошмар зависимости, и ты спас меня. Я действительно ценю это. Я действительно обнаружил, что существует баннер, называемый sfl4j-jdk на сайте, где находятся документы. Очистив мой путь, он все решил. Как ни странно, это нигде не упоминается. –

Смежные вопросы