java.lang.NoClassDefFoundError: acontece esporadicamente em resina Sever arranque

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

  •  21-08-2019
  •  | 
  •  

Pergunta

java.lang.NoClassDefFoundError: acontece esporadicamente em resina Sever arranque

Esta é a Resina 3.0.21 Usando Java 1.5 na máquina Linux ...

Eu tenho um servlet definido no web.xml para carregar os log4j.properties. Esta é lançada quando o servlet está tentando carregar no arranque ..

-log4j INIT: log4j INIT: erro pode classe não instanciar [org.apache.log4j.DailyRollingFileAppender]. java.lang.ClassNotFoundException: org.apache.log4j.DailyRollingFileAppender [java.lang.NoClassDefFoundError: org / Apache / log4j / FileAppender] em com.caucho.loader.DynamicClassLoader.loadClass (DynamicClassLoader.java:1264) em com.caucho.loader.DynamicClassLoader.findClass (DynamicClassLoader.java:1149) em com.caucho.loader.DynamicClassLoader.loadClass (DynamicClassLoader.java:1072) em com.caucho.loader.DynamicClassLoader.loadClass (DynamicClassLoader.java:1021) em java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319) em java.lang.Class.forName0 (Método Nativo) em Java.Lang.Class.forName (Class.java:164) em org.apache.log4j.helpers.Loader.loadClass (Loader.java:160) em org.apache.log4j.helpers.OptionConverter.instantiateByClassName (OptionConverter.java:309) em org.apache.log4j.helpers.OptionConverter.instantiateByKey (OptionConverter.java:112) em org.apache.log4j.PropertyConfigurator.parseAppender (PropertyConfigurator.java:620)

Foi útil?

Solução 2

Nós descobrimos que isso geralmente acontece quando não há espaço livre em disco no servidor

Outras dicas

Provavelmente, o log4j.jar arquivo for encontrado no classpath duas vezes, causando problemas classpath. Se Log4J é carregado duas vezes, uma no aplicativo da Web e de vez em resina, então você pode obter este tipo de confusão. Assumindo log4j já está presente em resina, se ele também está presente no classpath (lib) do seu aplicativo web, em seguida, tente removê-lo do diretório lib da sua aplicação.

Pode não ser "começar", mas "restart" situação.

Algumas classes de log4j não são descarregados no desligamento do aplicativo e no próximo (re) início fará com que a situação com a entrada duas vezes (veja o post de Eddie), se log4j carregado na webapp. A solução é colocar log4j em de resina lib /.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top