java.lang.NoClassDefFoundError: accade sporadicamente sulla resina sever start up

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

  •  21-08-2019
  •  | 
  •  

Domanda

java.lang.NoClassDefFoundError: accade sporadicamente sulla resina sever start up

Questo è il Resin 3.0.21 Utilizzo di Java 1.5 sulla macchina Linux ...

Ho un servlet definita sulla web.xml per caricare i log4j.properties. Questo viene generata quando il servlet sta tentando di caricare all'avvio ..

log4j-init: init log4j: ERRORE Impossibile creare un'istanza di classe [org.apache.log4j.DailyRollingFileAppender]. java.lang.ClassNotFoundException: org.apache.log4j.DailyRollingFileAppender [java.lang.NoClassDefFoundError: org / apache / log4j / FileAppender]     a com.caucho.loader.DynamicClassLoader.loadClass (DynamicClassLoader.java:1264)     a com.caucho.loader.DynamicClassLoader.findClass (DynamicClassLoader.java:1149)     a com.caucho.loader.DynamicClassLoader.loadClass (DynamicClassLoader.java:1072)     a com.caucho.loader.DynamicClassLoader.loadClass (DynamicClassLoader.java:1021)     a java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319)     a java.lang.Class.forName0 (metodo natale)     a java.lang.Class.forName (Class.java:164)     a org.apache.log4j.helpers.Loader.loadClass (Loader.java:160)     a org.apache.log4j.helpers.OptionConverter.instantiateByClassName (OptionConverter.java:309)     a org.apache.log4j.helpers.OptionConverter.instantiateByKey (OptionConverter.java:112)     a org.apache.log4j.PropertyConfigurator.parseAppender (PropertyConfigurator.java:620)

È stato utile?

Soluzione 2

Abbiamo scoperto che questo di solito accade quando non c'è spazio libero su disco sul server

Altri suggerimenti

Molto probabilmente, il file log4j.jar si trova sul percorso di classe per due volte, causando problemi classpath. Se Log4J viene caricato due volte, una volta in applicazione Web e una volta in resina, allora si può ottenere questo tipo di confusione. Supponendo log4j è già presente in resina, se è presente nel classpath dell'applicazione web (lib), quindi provare a rimuoverlo dalla directory lib dell'applicazione anche.

Potrebbe non essere "start", ma "restart" situazione.

Alcune classi di log4j non vengono scaricati su arresto di app e il prossimo (ri) avvio causerà la situazione con l'ingresso per due volte (vedi post di Eddie), se log4j caricato in webapp. La soluzione è quella di mettere in log4j lib / directory di resina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top