Tomcat错误:警告:无法检索容器的JNDI命名上下文

当我尝试在Tomcat 7上启动最近部署的Web应用程序时,我在Tomcat70/logs/文件夹中的catalina.2013-12-31.log文件中遇到以下错误。

 Dec 31, 2013 10:11:20 AM org.apache.catalina.deploy.NamingResources cleanUp WARNING: Failed to retrieve JNDI naming context for container [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/crm]] so no cleanup was performed for that container javax.naming.NameNotFoundException: Name [comp/env] is not bound in this Context. Unable to find [comp]. at org.apache.naming.NamingContext.lookup(NamingContext.java:820) at org.apache.naming.NamingContext.lookup(NamingContext.java:168) at org.apache.catalina.deploy.NamingResources.cleanUp(NamingResources.java:977) at org.apache.catalina.deploy.NamingResources.stopInternal(NamingResources.java:959) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5483) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:141) at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1247) at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:747) at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:222) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:186) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) 

我的应用程序是JDK7 Web应用程序。 我试图寻找类似的问题,并尝试了一些建议,如重新启动服务器(为了清除一些XML文件),但它没有用。

有什么想法吗?

更新:

这就是我在web.xml

      60    Servlet Mapped Filter Filters.ExampleFilter  attribute Filters.ExampleFilter.SERVLET_MAPPED    Path Mapped Filter Filters.ExampleFilter  attribute Filters.ExampleFilter.PATH_MAPPED    Request Dumper Filter Filters.RequestDumperFilter   Set Character Encoding Filters.SetCharacterEncodingFilter  encoding EUC_JP    Compression Filter CompressionFilters.CompressionFilter  compressionThreshold 10   debug 0     Servlet Mapped Filter invoker   Path Mapped Filter /servlet/*    Listeners.ContextListener   Listeners.SessionListener    SendMailServlet SendMailServlet    snoop   SnoopServlet   Security role for anonymous access tomcat     servletToJsp   servletToJsp     CompressionFilterTestServlet   CompressionFilters.CompressionFilterTestServlet     CompressionFilterTestServlet   /CompressionTest    SendMailServlet /SendMailServlet    snoop   /snoop     servletToJsp   /servletToJsp      AddNewContact Crm.Servlets.AddNewContact   AddNewContact /servlet/AddNewContact   AddTip Crm.Servlets.AddTip   AddTip /servlet/AddTip   CaaPdfOutputter Crm.Servlets.CaaPdfOutputter   CaaPdfOutputter /servlet/CaaPdfOutputter   CaaTestSubmit Crm.Servlets.CaaTestSubmit   CaaTestSubmit /servlet/CaaTestSubmit   DeleteTip Crm.Servlets.DeleteTip   DeleteTip /servlet/DeleteTip   DestinationCustomerFinancialAdvisorRefresh Crm.Servlets.DestinationCustomerFinancialAdvisorRefresh   DestinationCustomerFinancialAdvisorRefresh /servlet/DestinationCustomerFinancialAdvisorRefresh   DestinationCustomerRefresh Crm.Servlets.DestinationCustomerRefresh   DestinationCustomerRefresh /servlet/DestinationCustomerRefresh   DestinationCustomerShadowFinancialAdvisorRefresh Crm.Servlets.DestinationCustomerShadowFinancialAdvisorRefresh   DestinationCustomerShadowFinancialAdvisorRefresh /servlet/DestinationCustomerShadowFinancialAdvisorRefresh   DestinationOfficerControl Crm.Servlets.DestinationOfficerControl   DestinationOfficerControl /servlet/DestinationOfficerControl   DestinationOfficerFinancialAdvisorControl Crm.Servlets.DestinationOfficerFinancialAdvisorControl   DestinationOfficerFinancialAdvisorControl /servlet/DestinationOfficerFinancialAdvisorControl   DestinationOfficerShadowFinancialAdvisorControl Crm.Servlets.DestinationOfficerShadowFinancialAdvisorControl   DestinationOfficerShadowFinancialAdvisorControl /servlet/DestinationOfficerShadowFinancialAdvisorControl   FactFindControl Crm.Servlets.FactFindControl   FactFindControl /servlet/FactFindControl   InsertAddedCustomerFinancialAdvisor Crm.Servlets.InsertAddedCustomerFinancialAdvisor   InsertAddedCustomerFinancialAdvisor /servlet/InsertAddedCustomerFinancialAdvisor   InsertAddedCustomerRelationshipOfficer Crm.Servlets.InsertAddedCustomerRelationshipOfficer   InsertAddedCustomerRelationshipOfficer /servlet/InsertAddedCustomerRelationshipOfficer   InsertAddedCustomerShadowFinancialAdvisor Crm.Servlets.InsertAddedCustomerShadowFinancialAdvisor   InsertAddedCustomerShadowFinancialAdvisor /servlet/InsertAddedCustomerShadowFinancialAdvisor   KYCControl Crm.Servlets.KYCControl   KYCControl /servlet/KYCControl   LeadAssignmentTransfer Crm.Servlets.LeadAssignmentTransfer   LeadAssignmentTransfer /servlet/LeadAssignmentTransfer   LeadAssignmentView Crm.Servlets.LeadAssignmentView   LeadAssignmentView /servlet/LeadAssignmentView   LeadDetailsGenerator Crm.Servlets.LeadDetailsGenerator   LeadDetailsGenerator /servlet/LeadDetailsGenerator   ListAddedCustomerFinancialAdvisor Crm.Servlets.ListAddedCustomerFinancialAdvisor   ListAddedCustomerFinancialAdvisor /servlet/ListAddedCustomerFinancialAdvisor   ListAddedCustomerRelationshipOfficer Crm.Servlets.ListAddedCustomerRelationshipOfficer   ListAddedCustomerRelationshipOfficer /servlet/ListAddedCustomerRelationshipOfficer   ListAddedCustomerShadowFinancialAdvisor Crm.Servlets.ListAddedCustomerShadowFinancialAdvisor   ListAddedCustomerShadowFinancialAdvisor /servlet/ListAddedCustomerShadowFinancialAdvisor   RemoveCustomerFinancialAdvisor Crm.Servlets.RemoveCustomerFinancialAdvisor   RemoveCustomerFinancialAdvisor /servlet/RemoveCustomerFinancialAdvisor   RemoveCustomerRelationshipOfficer Crm.Servlets.RemoveCustomerRelationshipOfficer   RemoveCustomerRelationshipOfficer /servlet/RemoveCustomerRelationshipOfficer   RemoveCustomerShadowFinancialAdvisor Crm.Servlets.RemoveCustomerShadowFinancialAdvisor   RemoveCustomerShadowFinancialAdvisor /servlet/RemoveCustomerShadowFinancialAdvisor   RetrieveTips Crm.Servlets.RetrieveTips   RetrieveTips /servlet/RetrieveTips   SourceCustomerFinancialAdvisorRefresh Crm.Servlets.SourceCustomerFinancialAdvisorRefresh   SourceCustomerFinancialAdvisorRefresh /servlet/SourceCustomerFinancialAdvisorRefresh   SourceCustomerRefresh Crm.Servlets.SourceCustomerRefresh   SourceCustomerRefresh /servlet/SourceCustomerRefresh   SourceCustomerShadowFinancialAdvisorRefresh Crm.Servlets.SourceCustomerShadowFinancialAdvisorRefresh   SourceCustomerShadowFinancialAdvisorRefresh /servlet/SourceCustomerShadowFinancialAdvisorRefresh   SourceOfficerControl Crm.Servlets.SourceOfficerControl   SourceOfficerControl /servlet/SourceOfficerControl   SourceOfficerFinancialAdvisorControl Crm.Servlets.SourceOfficerFinancialAdvisorControl   SourceOfficerFinancialAdvisorControl /servlet/SourceOfficerFinancialAdvisorControl   SourceOfficerShadowFinancialAdvisorControl Crm.Servlets.SourceOfficerShadowFinancialAdvisorControl   SourceOfficerShadowFinancialAdvisorControl /servlet/SourceOfficerShadowFinancialAdvisorControl   TransferCustomerFinancialAdvisor Crm.Servlets.TransferCustomerFinancialAdvisor   TransferCustomerFinancialAdvisor /servlet/TransferCustomerFinancialAdvisor   TransferCustomerRelationshipOfficer Crm.Servlets.TransferCustomerRelationshipOfficer   TransferCustomerRelationshipOfficer /servlet/TransferCustomerRelationshipOfficer   TransferCustomerShadowFinancialAdvisor Crm.Servlets.TransferCustomerShadowFinancialAdvisor   TransferCustomerShadowFinancialAdvisor /servlet/TransferCustomerShadowFinancialAdvisor   UpdateCustomerMonitoringUnit Crm.Servlets.UpdateCustomerMonitoringUnit   UpdateCustomerMonitoringUnit /servlet/UpdateCustomerMonitoringUnit   SohPdfOutputter Crm.Servlets.SohPdfOutputter   SohPdfOutputter /servlet/SohPdfOutputter   variouscontrol Crm.Servlets.variouscontrol   variouscontrol /servlet/variouscontrol    http://jakarta.apache.org/tomcat/debug-taglib   /WEB-INF/jsp/debug-taglib.tld     http://jakarta.apache.org/tomcat/examples-taglib   /WEB-INF/jsp/example-taglib.tld    mail/Session javax.mail.Session Container   Example Security Constraint  Protected Area  /jsp/security/protected/*  DELETE GET POST PUT    tomcat role1     FORM Example Form-Based Authentication Area  /jsp/security/protected/login.jsp /jsp/security/protected/error.jsp      minExemptions 1 java.lang.Integer   foo/name1 value1 java.lang.String   foo/bar/name2 true java.lang.Boolean   name3 1 java.lang.Integer   foo/name4 10 java.lang.Integer    Example EJB Reference ejb/Account Entity com.mycompany.mypackage.AccountHome com.mycompany.mypackage.Account    Example Local EJB Reference ejb/ProcessOrder Session com.mycompany.mypackage.ProcessOrderHome com.mycompany.mypackage.ProcessOrder   

服务器的/Tomcat70/conf/context.xml

   WEB-INF/web.xml  

我删除了我的服务器并重新添加它。 工作

当Eclipse覆盖我的server.xml时,我遇到了这个错误,特别是从我的一个上下文中删除了JNDI依赖:

     

显而易见的解决方案 – 再次手动修改Eclipse中的“Servers” – >“Tomcat v7” – > server.xml,然后添加“Resource”元素。

清理Tomcat服务器后,我的工作人员离开了

在此处输入图像描述

今天我有同样的错误。 然后我在Tomcat服务器上执行了一个Clean,它告诉我有几个Maven POM缺失。 所以我执行了Maven更新项目(Eclipse:右键单击项目 – > Maven – >更新项目.. – >选择所需项目)。 这为我解决了问题。

双击服务器名称打开服务器配置。 之后,选中“发布模块上下文以分隔XML文件”复选框。 在此处输入图像描述 然后重新启动服务器

我最近遇到了这个奇怪的问题,答案是清单文件不是正确的编码或具有不可见的junc字符。 如果文件是在unix环境中创建的,并且您在Windows中运行它,则可能会发生这种情况。

解决方案是使用UTF-8编码重新创建文件。

这是一个非常奇怪的问题,但我通过仔细检查我的项目的web.xml来解决它。 当我向web.xml添加1个错误的servlet配置行时,同样的问题就出现了,当它被删除时它就消失了。 因此,请仔细检查您的web.xml并反转所有最近的更改 – 如果它能够正常工作,只需更正您刚刚创建的配置错误

可能这是一个老问题……但我们可以成为别人的经验教训……

我得到了相同的错误…我从服务器中删除了运行时,我删除了.m2 /存储库中的所有存储库,Maven更新,编译并且它工作正常

重启Tomcat。

测试servlet导致exception后,我的机器坏了。

我有同样的问题。

我使用的是Tomcat 8.5,我使用JNDI来配置对MySQL数据库的访问,我在我的java应用程序中使用了MySQL-connector jar版本8,

我使用MySQL-connector jar版本5来解决它。

它可能是由于java已损坏,卸载java并安装新的java版本。 它对我有用..