【问题标题】:WARNING: Failed to retrieve JNDI naming context for container警告:无法检索容器的 JNDI 命名上下文
【发布时间】:2016-08-19 00:57:19
【问题描述】:

注意,这对我没有帮助Tomcat Error: WARNING: Failed to retrieve JNDI naming context for container

当我在我的新工作区上运行 Apache Tomcat v8.0 服务器时,它会产生“本地主机上的服务器 Tomcat v8.0 服务器启动失败”。错误。

严重:子容器在启动期间失败 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/appstore-api]] 在 java.util.concurrent.FutureTask.report(FutureTask.java:122) 在 java.util.concurrent.FutureTask.get(FutureTask.java:192) 在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745) 引起: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/appstore-api]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153) ... 6 更多原因:org.apache.catalina.LifecycleException: Failed 启动组件 [org.apache.catalina.webresources.StandardRoot@716b94d] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153) 在 org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4958) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5088) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) ... 6 更多原因:org.apache.catalina.LifecycleException: Failed 初始化组件 [org.apache.catalina.webresources.JarResourceSet@58623467] 在 org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:136) 在 org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:699) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) ... 9 更多原因:java.lang.IllegalArgumentException: java.util.zip.ZipException:无效的 LOC 标头(错误的签名)在 org.apache.catalina.webresources.JarResourceSet.initInternal(JarResourceSet.java:139) 在 org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) ... 12 更多原因:java.util.zip.ZipException:无效的 LOC 标头 (错误签名)在 java.util.zip.ZipFile.read(Native Method) 在 java.util.zip.ZipFile.access$1400(ZipFile.java:60) 在 java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:717) 在 java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:419) 在 java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158) 在 sun.misc.IOUtils.readFully(IOUtils.java:65) 在 java.util.jar.JarFile.getBytes(JarFile.java:425) 在 java.util.jar.JarFile.getManifestFromReference(JarFile.java:193) 在 java.util.jar.JarFile.getManifest(JarFile.java:180) 在 org.apache.catalina.webresources.JarResourceSet.initInternal(JarResourceSet.java:137) ... 13 更多

2016 年 8 月 19 日上午 8:50:33 org.apache.catalina.core.ContainerBase startInternal SEVERE:子容器在启动期间失败 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost]] 在 java.util.concurrent.FutureTask.report(FutureTask.java:122) 在 java.util.concurrent.FutureTask.get(FutureTask.java:192) 在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915) 在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 在 org.apache.catalina.core.StandardService.startInternal(StandardService.java:441) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 在 org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:629) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485) 引起 作者:org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745) 引起: org.apache.catalina.LifecycleException:子容器失败 在开始时 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:923) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) ... 6 更多

2016 年 8 月 19 日上午 8:50:33 org.apache.catalina.startup.Catalina 开始 严重:所需的服务器组件无法启动,因此 Tomcat 是 无法启动。 org.apache.catalina.LifecycleException: 失败 启动组件 [StandardServer[8005]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:629) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485) 引起 作者:org.apache.catalina.LifecycleException:无法启动组件 [标准服务 [Catalina]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153) 在 org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) ... 7 更多原因:org.apache.catalina.LifecycleException:失败 启动组件 [StandardEngine[Catalina]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153) 在 org.apache.catalina.core.StandardService.startInternal(StandardService.java:441) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) ... 9 更多原因:org.apache.catalina.LifecycleException: A child 容器在启动期间失败 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:923) 在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) ... 11 更多

2016 年 8 月 19 日上午 8:50:33 org.apache.coyote.AbstractProtocol 暂停信息: 暂停 ProtocolHandler [“http-nio-8080”] 2016 年 8 月 19 日上午 8:50:33 org.apache.coyote.AbstractProtocol 暂停信息:暂停协议处理程序 [“ajp-nio-8009”] 2016 年 8 月 19 日上午 8:50:33 org.apache.catalina.core.StandardService stopInternal INFO: 停止 服务 Catalina 2016 年 8 月 19 日上午 8:50:33 org.apache.coyote.AbstractProtocol 销毁 INFO:销毁 ProtocolHandler [“http-nio-8080”] 2016 年 8 月 19 日上午 8 点 50 分 33 秒 org.apache.coyote.AbstractProtocol 销毁严重:销毁失败 与 ProtocolHandler ["http-nio-8080"] 关联的端点 java.lang.NullPointerException 在 org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:316) 在 org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:492) 在 org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:821) 在 org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:534) 在 org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023) 在 org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) 在 org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589) 在 org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) 在 org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877) 在 org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:633) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

2016 年 8 月 19 日上午 8:50:33 org.apache.coyote.AbstractProtocol 销毁 信息:销毁 ProtocolHandler [“ajp-nio-8009”] 2016 年 8 月 19 日 8:50:33 AM org.apache.coyote.AbstractProtocol 破坏严重:未能 销毁与 ProtocolHandler ["ajp-nio-8009"] 关联的端点 java.lang.NullPointerException 在 org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:316) 在 org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:492) 在 org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:821) 在 org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:534) 在 org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023) 在 org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) 在 org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589) 在 org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) 在 org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877) 在 org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:633) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

2016 年 8 月 19 日上午 8:50:33 org.apache.catalina.deploy.NamingResourcesImpl 清理警告:无法检索容器的 JNDI 命名上下文 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/appstore-api]] 所以没有对该容器进行清理 javax.naming.NamingException:没有绑定到此类的命名上下文 装载机在 org.apache.naming.ContextBindings.getClassLoader(ContextBindings.java:258) 在 org.apache.catalina.deploy.NamingResourcesImpl.cleanUp(NamingResourcesImpl.java:992) 在 org.apache.catalina.deploy.NamingResourcesImpl.stopInternal(NamingResourcesImpl.java:975) 在 org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224) 在 org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5540) 在 org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224) 在 org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:263) 在 org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:832) 在 org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1012) 在 org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) 在 org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:832) 在 org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1012) 在 org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) 在 org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:604) 在 org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) 在 org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877) 在 org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:633) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

我尝试更改代码的某些部分,当我删除

<Context docBase="appstore-api" path="/appstore-api" reloadable="true" source="org.eclipse.jst.jee.server:appstore-api">
      <Resource auth="Container" driverClassName="org.postgresql.Driver" maxIdle="10" maxTotal="20" maxWaitMillis="-1" name="jdbc/postgres" password="password" type="javax.sql.DataSource" url="jdbc:postgresql://localhost:5432/appstore" username="postgres"/>
      </Context>

tomcat服务器的server.xml中的部分代码。错误消失了,但我无法调用我的端点,因为未定义“/appstore-api”路径。

我错过了什么吗?

【问题讨论】:

    标签: apache jndi tomcat8 catalina


    【解决方案1】:

    我的问题是这个 Maven 依赖导致了这个错误

    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.1</version>
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 2019-02-16
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多