欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

NameNotFoundException:原来是Tomcat7的一个bug

程序员文章站 2022-05-20 18:29:08
...

最近,我电脑上的Tom猫由于项目原因,换成了7.0的版本,但是,我发现经常会出现错误,并且在给别人弄得时候也是出现了这样子的错误。错误是这样的:javax.naming.NameNotFoundException: Resource /WEB-INF/classes not found

刚刚实在郁闷,一切配置和项目都是正常的,为什么会出现这样的错误的呢?我真是按耐不住了就上网查了查,竟然是Tomcat的一个bug,真是让我好无语啊。bug的官网报告地址:https://issues.apache.org/bugzilla/show_bug.cgi?id=52511

 

给别人装的时候,感觉那是相当的自信啊,没有想到装好之后竟然出现了这样的错误。真是让我情何以堪啊 。。。
因此,特拿出来给大家分享一下,以防有人出现了这样的错误不知道怎么回事,还以为是技术问题呢。这样或许可以避免你在人前出丑呢,哈哈

所有的错误是下面这种情况:
javax.naming.NameNotFoundException: Resource /WEB-INF/classes not found
at org.apache.naming.resources.BaseDirContext.listBindings(BaseDirContex
t.java:733)
at org.apache.naming.resources.ProxyDirContext.listBindings(ProxyDirCont
ext.java:546)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.jav
a:1197)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfi
g.java:825)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi
g.java:300)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
se.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContex
t.java:5161)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:897)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:87
3)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)


at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
a:1095)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig
.java:1617)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)