java.lang.NoClassDefFoundError: ocurre esporádicamente en Sever Resina puesta en marcha

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

  •  21-08-2019
  •  | 
  •  

Pregunta

java.lang.NoClassDefFoundError: ocurre esporádicamente en Sever Resina puesta en marcha

Este es el Resina 3.0.21 Uso de Java 1.5 en la máquina Linux ...

Tengo un servlet definido en el web.xml para cargar los log4j.properties. Esto se produce cuando el servlet está intentando cargar en el arranque ..

log4j-init: init log4j: ERROR No se ha podido crear una instancia de la clase [org.apache.log4j.DailyRollingFileAppender]. java.lang.ClassNotFoundException: org.apache.log4j.DailyRollingFileAppender [java.lang.NoClassDefFoundError: org / apache / log4j / FileAppender]     en com.caucho.loader.DynamicClassLoader.loadClass (DynamicClassLoader.java:1264)     en com.caucho.loader.DynamicClassLoader.findClass (DynamicClassLoader.java:1149)     en com.caucho.loader.DynamicClassLoader.loadClass (DynamicClassLoader.java:1072)     en com.caucho.loader.DynamicClassLoader.loadClass (DynamicClassLoader.java:1021)     en java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319)     en java.lang.Class.forName0 (Nativo Método)     en Java.Lang.Class.forName (Class.java:164)     en org.apache.log4j.helpers.Loader.loadClass (Loader.java:160)     en org.apache.log4j.helpers.OptionConverter.instantiateByClassName (OptionConverter.java:309)     en org.apache.log4j.helpers.OptionConverter.instantiateByKey (OptionConverter.java:112)     en org.apache.log4j.PropertyConfigurator.parseAppender (PropertyConfigurator.java:620)

¿Fue útil?

Solución 2

Nos encontramos con que esto suele ocurrir cuando no hay espacio libre en disco en el servidor

Otros consejos

Lo más probable es que el archivo de log4j.jar se encuentra en la ruta de clase dos veces, causando problemas de rutas de clases. Si LOG4J se carga dos veces, una vez en la aplicación web y una vez en resina, entonces se puede obtener este tipo de confusión. Suponiendo log4j ya está presente en resina, si también está presente en la ruta de clase de la aplicación web (lib), y luego tratar de sacarlo de directorio lib de la aplicación.

Puede que no sea "start" pero "reinicio" situación.

Algunas clases de log4j no se descargan al cerrar el sistema de aplicación y al lado (re) inicio hará que la situación con la entrada de dos veces (ver el post de Eddie), si log4j cargado en aplicación web. La solución es poner log4j en lib / de resina.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top