我已经在Eclipse中创建了一个动态Web项目。当我尝试从Eclipse在本地Tomcat上运行它时,出现错误:
没有命名上下文绑定到该类加载器
我尝试了一切:在另一个Tomcat版本,另一个Eclipe版本上运行应用程序...
有人可以帮我吗?由于没有调试功能,目前这是进一步发展的障碍。
完整的错误日志为:
WARNING: Failed to retrieve JNDI naming context for container [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/PCT_TO_CPQ]] so no cleanup was performed for that container
javax.naming.NamingException: No naming context bound to this class loader
at org.apache.naming.ContextBindings.getClassLoader(ContextBindings.java:268)
at org.apache.catalina.deploy.NamingResourcesImpl.cleanUp(NamingResourcesImpl.java:993)
at org.apache.catalina.deploy.NamingResourcesImpl.stopInternal(NamingResourcesImpl.java:976)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5492)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:264)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:856)
at org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1038)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:856)
at org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1038)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:585)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:883)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
at org.apache.catalina.startup.Catalina.start(Catalina.java:685)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
答案 0 :(得分:1)
在我的情况下,是我有两个具有相同urlPattern的restcontrollers ...例如:
@WebServlet(urlPatterns = { "/ws/user/login", "/ws/user/logout" })
在两个不同的控制器中。这导致了以上错误消息。
如果开发人员实施较少混乱的错误消息,那么这些utils和框架会更好得多! Spring及其许多模块充满了这些误导性错误。这使初学者很难进入它。
答案 1 :(得分:0)
1。尝试删除服务器,然后重新添加。
2。清理项目。
答案 2 :(得分:0)
您必须确保..您的动态Web模块版本正确。
转到:
答案 3 :(得分:0)
在tomcat配置中,我有两个模块:我要运行的实际模型和我不小心添加的另一个模型。第二种模型是指一个在我的工作空间中“关闭”的项目,这对我造成了问题。
尝试:
最终清理服务器并重新启动