java.lang.NoClassDefFoundErrorが:樹脂のサーバ上で散発的に起こるが起動
質問
java.lang.NoClassDefFoundErrorが:樹脂のサーバ上で散発的に発生した。
起動この樹脂3.0.21であります Linuxマシン上でJava 1.5を使用して...
私は、log4j.propertiesをロードするためのweb.xmlに定義されたサーブレットを持っています。 これは、サーブレットが起動時にロードしようとしたときにスローされる..
のlog4j-INIT: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.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で(ネイティブメソッド) 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のは、かつてのWebアプリケーションで、一度樹脂に、二回ロードされる場合は、混乱のこの種を取得することができます。 log4jのと仮定すると、それはあなたのWebアプリケーションのクラスパス(libディレクトリ)にも存在している場合は、アプリケーションのlibディレクトリからそれを削除してみてください、既に樹脂中に存在している。
これは、「スタート」ではなく「再起動」状況ではないことがあります。
のlog4jの一部のクラスは、アプリケーションのシャットダウンし、次の(再)起動時にアンロードされませんlog4jのは、Webアプリケーションにロードされた場合、二回エントリー(エディのポストを見て)との状況が発生します。溶液を樹脂のlib /ディレクトリにlog4jのを置くことです。