java.lang.NoClassDefFoundError:происходит спорадически при запуске сервера Resin

StackOverflow https://stackoverflow.com/questions/675678

  •  21-08-2019
  •  | 
  •  

Вопрос

java.lang.NoClassDefFoundError:происходит спорадически при запуске сервера Resin

Это на смоле 3.0.21 с использованием Java 1.5 на машине Linux ...

У меня есть сервлет, определенный в файле web.xml для загрузки log4j.properties.Это выдается, когда сервлет пытается загрузиться при запуске.

log4j-инит:init log4j:ERROR Не удалось создать экземпляр класса [org.apache.log4j.DailyRollingFileAppender].java.lang.ClassNotFoundException:org.apache.log4j.DailyRollingFileAppender [java.lang.NoClassDefFoundError:org/apache/log4j/fileAppender] на com.caucho.loader.dynamicclassloader.loadclass (dynamicclassloader.java:1264) на com.caucho.loader.dynamicclassloader.findclass (dynamicclassloader.java:1149) на com.cloader.dynamicloader. .loadClass (DynamicClassLoader.java:1072) по адресу com.caucho.loader.dynamicclassloader.loadclass (DynamicClassLoader.java:1021) на java.lang.classloader.loadclassinternal (classloader.java:319) на java.lang.class.fornam Нативный метод) на java.lang.class.forname (class.java:164) на org.apache.log4j.helpers.loader.loadclass (Loader.java:160) на org.apache.log4j.helpers.optionConverter.instantiatebyclassname ( OptionConverter.java:309) на org.apache.log4j.helpers.optionConverter.instantiateBykey (OptionConverter.java:112) на org.apache.log4j.propertyconfigurator.parseappender (PropertyConfigurator.java:620)

Это было полезно?

Решение 2

Мы выяснили, что обычно такое происходит, когда на сервере нет свободного дискового пространства.

Другие советы

Скорее всего, файл log4j.jar встречается в пути к классам дважды, что вызывает проблемы с путем к классам.Если log4J загружается дважды: один раз в веб-приложении и один раз в Resin, то может возникнуть такая путаница.Предполагая, что log4j уже присутствует в Resin, если он также присутствует в пути к классам вашего веб-приложения (каталог lib), попробуйте удалить его из каталога lib вашего приложения.

Это может быть ситуация не «старта», а «перезапуска».

Некоторые классы log4j не выгружаются при завершении работы приложения, и следующий (пере)запуск приведет к ситуации с двойной записью (см. сообщение Эдди), если log4j загружен в веб-приложение.Решение состоит в том, чтобы поместить log4j в каталог lib/ смолы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top