`

NameNotFoundException:原来是Tomcat7的一个bug

阅读更多

最近,我电脑上的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)

 

 

分享到:
评论

相关推荐

    Javax.naming.NameNotFoundException

    当你在JBoss中配置了一个资源,例如一个数据库连接池,并试图通过JNDI名来访问它,如果找不到对应的配置,就会抛出NameNotFoundException。这个错误可能由于以下原因: 1. **配置错误**:你可能在应用的部署描述符...

    com.tencent.mobileqq_mini.21.04.25.22.qlog

    com.tencent.mobileqq_mini.21.04.25.22.qlog

    tomcat配置连接池方式

    配置Tomcat连接池是一个涉及多个细节的过程,从正确放置JDBC驱动到精确设置`server.xml`和`context.xml`中的参数,每一步都至关重要。通过遵循上述指南,开发者可以有效地管理和优化数据库连接,提高应用的性能和...

    tomcat&resin

    在IT领域,特别是Java应用服务器环境下的开发与部署过程中,JNDI(Java Naming and Directory Interface)是一个不可或缺的概念。本文将深入探讨如何在Tomcat和Resin这两种流行的Java应用服务器中配置JNDI,以便更好...

    关于tomcat和mysql连接池问题的详解.docx

    在本文中,我们将深入探讨关于Tomcat和MySQL连接池问题的详解,特别关注Tomcat 5.5版本中的常见问题和解决方案。连接池是管理数据库连接的关键组件,它提高了性能并减少了资源消耗。 问题一:Cannot create JDBC ...

    数据池连接Name jdbc is not bound in this Context解决方案

    在这个问题中,开发者遇到了一个常见的错误:“Name jdbc is not bound in this Context”,这通常意味着在Tomcat的环境中,指定的数据源没有被正确地绑定或配置。 要解决这个问题,首先需要在Tomcat的配置文件中...

    EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常

    在部署EJB的消息驱动Bean时遇到了如下的错误: ERROR [org.jboss.resource.adapter.jms.inflow.JmsActivation] (WorkManager(2)-2) Unable to reconnect  org.jboss.resource.adapter.jms.inflow....

    java工程错误信息解析和总结

    本文将对一个具体的Java项目错误信息进行深入分析,帮助开发者更好地理解问题所在,并提供相应的解决思路。 #### 错误信息概览 本次分析的错误信息主要来自于一个Java Web应用,该应用在启动时出现了与数据源(`...

    struts2开发遇到的问题

    这个错误意味着Tomcat中的DataSource配置有问题,或者缺少相应的配置。需要在`server.xml`中添加类似以下的资源配置: ``` ”userDatabase” auth="Container" type="javax.sql.DataSource" maxActive="50" ...

    在Win7系统下抛出java.net.SocketException的解决办法

    在使用MyEclipse开发工具结合JBoss服务器进行项目开发的过程中,遇到一个常见但令人头疼的问题:当启动JBoss服务器时,控制台窗口频繁出现一系列警告信息,包括: - **SocketException**:“Unrecognized Windows ...

    CheckStyle结果分析

    // 如果同一个文件中只有 ClassA 被使用,则保留此导入 ``` --- ##### 18. 未使用的导入 **提示**: Unused import - java.util.List. **说明**: 导入了但未使用的类。 **解决方法**: 去除未使用的导入。 **...

    android中获取版本号

    如果在获取包信息时发生异常(例如,应用尚未安装),我们会捕获`NameNotFoundException`并返回一个默认值或错误信息,以避免程序崩溃。 在实际应用中,你可能会将`GetVersion`类封装在一个Utils或Helper类中,然后...

    jndi简明教程

    例如,通过调用`Context.bind()`方法可以将一个名字与一个对象绑定起来,而通过`Context.lookup()`方法则可以从名字中查找并返回对象。 #### JNDI与集群 在分布式环境中,特别是在WebLogic服务器集群中,JNDI提供...

    Java代码获取apk版本号示例,含必须的jar包

    以下是一个简单的Java代码示例,演示如何获取APK的版本信息: ```java import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; public class VersionCheck...

    获取所有应用程序的数据

    在Android系统中,获取所有应用程序的数据是一个常见的需求,这通常涉及到获取用户安装的应用列表以及它们的相关信息,如图标、名称、包名等。在提供的代码段中,我们看到一个名为`getLaunchAppList`的方法,它实现...

    bea jndi 培训

    - **binding**:在JNDI中,binding是指将一个名称(或称作JNDI名称)与一个对象关联起来。这个名字可以用来查找并访问该对象。 - **Resolve**:解析过程是通过JNDI名称查找并返回对应对象的过程。 - **Context**:...

    android根据包名获取程序的信息

    本资源提供了一个简单的示例,演示如何通过应用程序的包名来获取这些信息。以下将详细介绍这个过程以及相关知识点。 1. **包名(Package Name)** 包名是Android应用的唯一标识符,它遵循Java的命名规范,通常由...

    jsp连接MySQL用连接池方式步骤

    在`context.xml`中定义一个`Resource`,该资源指定了数据库连接的相关属性。例如: ```xml auth="Container" type="javax.sql.DataSource" maxActive="4" maxIdle="2" maxWait="3000" username="root" ...

    Android视频播放器代码.pdf

    在Android应用开发中,实现一个功能完善的视频播放器是常见的需求,这通常涉及到多媒体处理、用户界面交互以及系统服务的使用。以下将详细讲解`PlayVideo`类中的关键知识点: 1. **Activity与生命周期**: `Play...

Global site tag (gtag.js) - Google Analytics