java.lang.NoClassDefFoundError: arrive sporadiquement sur résine sever démarrage

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

  •  21-08-2019
  •  | 
  •  

Question

java.lang.NoClassDefFoundError: arrive sporadiquement sur sever résine démarrage

est en résine 3.0.21 Utilisation de Java 1.5 sur la machine Linux ...

J'ai un servlet défini sur le web.xml pour charger les log4j.properties. Ceci est levée lorsque le servlet tente de charger au démarrage ..

log4j-init: init log4j: ERREUR Impossible instancier classe [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.caucho.loader.DynamicClassLoader.loadClass (DynamicClassLoader.java:1072)     à com.caucho.loader.DynamicClassLoader.loadClass (DynamicClassLoader.java:1021)     à java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319)     à java.lang.Class.forName0 (Méthode natif)     à 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)

Était-ce utile?

La solution 2

Nous avons trouvé que cela se produit habituellement quand il n'y a pas d'espace disque libre sur le serveur

Autres conseils

Très probablement, le fichier se trouve sur log4j.jar classpath deux fois, ce qui provoque des problèmes de Classpath. Si log4J se charge à deux reprises, une fois dans l'application Web et une fois en résine, vous pouvez obtenir ce genre de confusion. En supposant que log4j est déjà présent en résine, si elle est également présente dans votre application web de classpath (lib), puis essayez de le retirer du répertoire lib de votre application.

Il peut être pas "commencer" mais la situation "restart".

Certaines classes de log4j ne sont pas déchargées sur l'arrêt de l'application et ensuite (re) démarrage provoque la situation avec l'entrée deux fois (regardez le poste de Eddie), si log4j chargé dans webapp. La solution est de mettre log4j dans lib / de résine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top