tomcat 6 怪事


最近在 tomcat6 中遇到麻烦,tomcat 6 启动是没有任何问题,网站可以正常运行,每当我上传一个 servlet 类文件时,就出现以下错误

2008-1-20 15:30:55 org.apache.catalina.core.StandardContext reload
信息: Reloading this Context has started
2008-1-20 15:30:55 org.apache.catalina.startup.ContextConfig processDefaultWebConfig
严重: Parse error in default web.xml
java.lang.NullPointerException
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1094)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1562)
at org.apache.catalina.startup.ContextConfig.processDefaultWebConfig(ContextConfig.java:695)
at org.apache.catalina.startup.ContextConfig.defaultWebConfig(ContextConfig.java:632)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1061)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4239)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3086)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:404)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1309)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:619)
2008-1-20 15:30:55 org.apache.catalina.startup.ContextConfig applicationWebConfig
严重: Parse error in application web.xml file at jndi:/mail.test.com/WEB-INF/web.xml
java.lang.NullPointerException
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1094)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1562)
at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:369)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1062)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4239)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3086)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:404)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1309)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:619)
2008-1-20 15:30:55 org.apache.catalina.startup.ContextConfig start
严重: Marking this application unavailable due to previous error(s)
2008-1-20 15:30:55 org.apache.catalina.core.StandardContext start
严重: Error getConfigured
2008-1-20 15:30:55 org.apache.catalina.core.StandardContext start
严重: Context [] startup failed due to previous errors

要重新启动 tomcat 后才可以正常。

类文件不能动态添加替换。