java.lang.NoClassDefFoundError:偶尔发生在树脂服务器启动

这是对树脂3.0.21 Linux机器上使用Java 1.5 ...

我对web.xml中定义一个servlet加载log4j.properties。 这被抛出当servlet试图加载在启动时..

的log4j-INIT:初始化的log4j:ERROR无法实例类[org.apache.log4j.DailyRollingFileAppender]。 抛出java.lang.ClassNotFoundException:org.apache.log4j.DailyRollingFileAppender [java.lang.NoClassDefFoundError:组织/阿帕奇/ 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应用程序加载。解决的办法是把log4j的成树脂的lib /目录。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top