title: WARNING: Failed to retrieve JNDI naming context for container
body: <p>Note, this did not help me <a href="https://stackoverflow.com/questions/20854848/tomcat-error-warning-failed-to-retrieve-jndi-naming-context-for-container">Tomcat Error: WARNING: Failed to retrieve JNDI naming context for container</a></p>
  
  <p>When I run the Apache tomcat v8.0 server on my new workspace it produces a "Server Tomcat v8.0 Server at localhost failed to start." error. </p>
  
  <blockquote>
    <p>SEVERE: A child container failed during start
    java.util.concurrent.ExecutionException:
    org.apache.catalina.LifecycleException: Failed to start component
    [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/appstore-api]]
      at java.util.concurrent.FutureTask.report(FutureTask.java:122)  at
    java.util.concurrent.FutureTask.get(FutureTask.java:192)  at
    org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915)
      at
    org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
      at
    org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
      at
    org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)     at
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745) Caused by:
    org.apache.catalina.LifecycleException: Failed to start component
    [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/appstore-api]]
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
      ... 6 more Caused by: org.apache.catalina.LifecycleException: Failed
    to start component
    [org.apache.catalina.webresources.StandardRoot@716b94d]   at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
      at
    org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4958)
      at
    org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5088)
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
      ... 6 more Caused by: org.apache.catalina.LifecycleException: Failed
    to initialize component
    [org.apache.catalina.webresources.JarResourceSet@58623467]    at
    org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:136)
      at
    org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:699)
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
      ... 9 more Caused by: java.lang.IllegalArgumentException:
    java.util.zip.ZipException: invalid LOC header (bad signature)    at
    org.apache.catalina.webresources.JarResourceSet.initInternal(JarResourceSet.java:139)
      at
    org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
      ... 12 more Caused by: java.util.zip.ZipException: invalid LOC header
    (bad signature)   at java.util.zip.ZipFile.read(Native Method)    at
    java.util.zip.ZipFile.access$1400(ZipFile.java:60)    at
    java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:717)   at
    java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:419)
      at
    java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
      at sun.misc.IOUtils.readFully(IOUtils.java:65)  at
    java.util.jar.JarFile.getBytes(JarFile.java:425)  at
    java.util.jar.JarFile.getManifestFromReference(JarFile.java:193)  at
    java.util.jar.JarFile.getManifest(JarFile.java:180)   at
    org.apache.catalina.webresources.JarResourceSet.initInternal(JarResourceSet.java:137)
      ... 13 more</p>
    
    <p>Aug 19, 2016 8:50:33 AM org.apache.catalina.core.ContainerBase
    startInternal SEVERE: A child container failed during start
    java.util.concurrent.ExecutionException:
    org.apache.catalina.LifecycleException: Failed to start component
    [StandardEngine[Catalina].StandardHost[localhost]]    at
    java.util.concurrent.FutureTask.report(FutureTask.java:122)   at
    java.util.concurrent.FutureTask.get(FutureTask.java:192)  at
    org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915)
      at
    org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
      at
    org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
      at
    org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787)
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:629)    at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)     at
    org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)   at
    org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485) Caused
    by: org.apache.catalina.LifecycleException: Failed to start component
    [StandardEngine[Catalina].StandardHost[localhost]]    at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
      at
    org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
      at
    org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)     at
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745) Caused by:
    org.apache.catalina.LifecycleException: A child container failed
    during start  at
    org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:923)
      at
    org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
      ... 6 more</p>
    
    <p>Aug 19, 2016 8:50:33 AM org.apache.catalina.startup.Catalina start
    SEVERE: The required Server component failed to start so Tomcat is
    unable to start. org.apache.catalina.LifecycleException: Failed to
    start component [StandardServer[8005]]    at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:629)    at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)     at
    org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)   at
    org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485) Caused
    by: org.apache.catalina.LifecycleException: Failed to start component
    [StandardService[Catalina]]   at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
      at
    org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787)
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
      ... 7 more Caused by: org.apache.catalina.LifecycleException: Failed
    to start component [StandardEngine[Catalina]]     at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
      at
    org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
      ... 9 more Caused by: org.apache.catalina.LifecycleException: A child
    container failed during start     at
    org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:923)
      at
    org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
      at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
      ... 11 more</p>
    
    <p>Aug 19, 2016 8:50:33 AM org.apache.coyote.AbstractProtocol pause INFO:
    Pausing ProtocolHandler ["http-nio-8080"] Aug 19, 2016 8:50:33 AM
    org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler
    ["ajp-nio-8009"] Aug 19, 2016 8:50:33 AM
    org.apache.catalina.core.StandardService stopInternal INFO: Stopping
    service Catalina Aug 19, 2016 8:50:33 AM
    org.apache.coyote.AbstractProtocol destroy INFO: Destroying
    ProtocolHandler ["http-nio-8080"] Aug 19, 2016 8:50:33 AM
    org.apache.coyote.AbstractProtocol destroy SEVERE: Failed to destroy
    end point associated with ProtocolHandler ["http-nio-8080"]
    java.lang.NullPointerException    at
    org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:316)
      at
    org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:492)
      at
    org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:821)
      at
    org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:534)
      at
    org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
      at
    org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
      at
    org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
      at
    org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
      at
    org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
      at
    org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:633)    at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)     at
    org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)   at
    org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)</p>
    
    <p>Aug 19, 2016 8:50:33 AM org.apache.coyote.AbstractProtocol destroy
    INFO: Destroying ProtocolHandler ["ajp-nio-8009"] Aug 19, 2016 8:50:33
    AM org.apache.coyote.AbstractProtocol destroy SEVERE: Failed to
    destroy end point associated with ProtocolHandler ["ajp-nio-8009"]
    java.lang.NullPointerException    at
    org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:316)
      at
    org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:492)
      at
    org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:821)
      at
    org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:534)
      at
    org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
      at
    org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
      at
    org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
      at
    org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
      at
    org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
      at
    org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:633)    at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)     at
    org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)   at
    org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)</p>
    
    <p>Aug 19, 2016 8:50:33 AM org.apache.catalina.deploy.NamingResourcesImpl
    cleanUp WARNING: Failed to retrieve JNDI naming context for container
    [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/appstore-api]]
    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:258)
      at
    org.apache.catalina.deploy.NamingResourcesImpl.cleanUp(NamingResourcesImpl.java:992)
      at
    org.apache.catalina.deploy.NamingResourcesImpl.stopInternal(NamingResourcesImpl.java:975)
      at
    org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224)
      at
    org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5540)
      at
    org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224)
      at
    org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:263)
      at
    org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:832)
      at
    org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1012)
      at
    org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
      at
    org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:832)
      at
    org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1012)
      at
    org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
      at
    org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:604)
      at
    org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
      at
    org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
      at
    org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:633)    at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)     at
    org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)   at
    org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)</p>
  </blockquote>
  
  <p>I tried changing some parts of my code and when i remove the </p>
  
  <pre><code>&lt;Context docBase="appstore-api" path="/appstore-api" reloadable="true" source="org.eclipse.jst.jee.server:appstore-api"&gt;
        &lt;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"/&gt;
        &lt;/Context&gt;
  </code></pre>
  
  <p>part of the code in server.xml of tomcat server. the error disappears but i am not able to call my enpoints since the "/appstore-api" path is not defined. </p>
  
  <p>Am i missing something here?</p>