NoClassDefFound org/slf4j/impl/staticloggerbinder
iam удаление приложения в Struts 1.2.7 и LifeRay 6.0.6 Я использую hibernate3,hibernate-аннотации jar-файлов, когда я развертываю war-файл в jBOSS, тогда он выдает мне эту ошибку NoClassDefFound org/slf4j/impl/staticloggerbinder, чтобы удалить эта ошибка я скопировал slf4j-log4j12 из [LIFERAY_HOME]\jboss-5.1.0\server\default\deploy\ROOT.war\WEB-INF\lib в мой
сервер по умолчанию lib, то есть [LIFERAY_HOME]\jboss-5.1.0\server\default\lib, тогда ошибка удаляется, но возникает другая ошибка, т. е. путь к классу содержит несколько привязок SLF4J, а 2 расположения: 1)[LIFERAY_HOME]\jboss-5.1.0\server\default\deploy\ROOT.war\WEB-INF\lib 2) [LIFERAY_HOME]\jboss-5.1.0\server\default\lib
сейчас действительно запутался в том что происходит. что это за ошибка NoClassDefFound org/slf4j/impl/staticloggerbinder Я нашел в Google, но его ошибка, связанная с hibernate3, меня беспокоит то, что нужно сделать, чтобы устранить эту ошибку, и что staticloggerbinder этот класс делает, это realeted к hibernate или что-то еще
1 ответ
Вы получаете эту ошибку, потому что log4j загружается из двух разных загрузчиков классов, из ROOT (Liferay) и из загрузчика общих классов (\server\default\lib). У вас есть два альтернативных решения:
- Переместите slf4j-logXXX.jar & log4j.jar из ROOT/.../lib в загрузчик общих классов (
\server\default\lib
) - Установить переменную среды
log4j.ignore.TCL=true
(игнорировать загрузчик классов)