title: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/LabWebServletHibernate]]
body: <p>I'm getting this error when running app on tomcat-8 with eclipse neon-1,it is using spring-4.3.3, hibernate-5.2.4 and maven.</p>
  
  <pre><code>嚴重: A child container failed during start
  java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/LabWebServletHibernate]]
      at java.util.concurrent.FutureTask.report(Unknown Source)
      at java.util.concurrent.FutureTask.get(Unknown Source)
      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:145)
      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(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)
  Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/LabWebServletHibernate]]
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
      ... 6 more
  Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@2b8b2271]
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
      at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4969)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5099)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      ... 6 more
  Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@93d5fda]
      at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:135)
      at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:706)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      ... 9 more
  Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid LOC header (bad signature)
      at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113)
      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(Unknown Source)
      at java.util.zip.ZipFile$ZipFileInputStream.read(Unknown Source)
      at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(Unknown Source)
      at java.util.zip.InflaterInputStream.read(Unknown Source)
      at sun.misc.IOUtils.readFully(Unknown Source)
      at java.util.jar.JarFile.getBytes(Unknown Source)
      at java.util.jar.JarFile.getManifestFromReference(Unknown Source)
      at java.util.jar.JarFile.getManifest(Unknown Source)
      at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:111)
      ... 13 more
  
  十一月 18, 2016 5:19:25 下午 org.apache.catalina.core.ContainerBase startInternal
  嚴重: 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(Unknown Source)
      at java.util.concurrent.FutureTask.get(Unknown Source)
      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:145)
      at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
      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: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:162)
      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(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)
  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:145)
      ... 6 more
  
  十一月 18, 2016 5:19:25 下午 org.apache.catalina.startup.Catalina start
  嚴重: 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:162)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
      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: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:162)
      at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      ... 7 more
  Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
      at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      ... 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:145)
      ... 11 more
  
  嚴重: 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:551)
      at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
      at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
      at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
      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:351)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
  
  十一月 18, 2016 5:19:25 下午 org.apache.coyote.AbstractProtocol destroy
  資訊: Destroying ProtocolHandler ["ajp-nio-8009"]
  十一月 18, 2016 5:19:25 下午 org.apache.coyote.AbstractProtocol destroy
  嚴重: 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:551)
      at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
      at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
      at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
      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:351)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
  
  十一月 18, 2016 5:19:25 下午 org.apache.catalina.deploy.NamingResourcesImpl cleanUp
  警告: Failed to retrieve JNDI naming context for container [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/LabWebServletHibernate]] 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:221)
      at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5551)
      at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:221)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:259)
      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:292)
      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:292)
      at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:604)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
      at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
      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:351)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
  </code></pre>
  
  <p>here is my web.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="http://xmlns.jcp.org/xml/ns/javaee"
      xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
      version="3.1"&gt;
      &lt;display-name&gt;LabWebServletHibernate&lt;/display-name&gt;
  
      &lt;resource-ref&gt;
          &lt;res-ref-name&gt;jdbc/xxx&lt;/res-ref-name&gt;
          &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
          &lt;res-auth&gt;Container&lt;/res-auth&gt;
          &lt;res-sharing-scope&gt;Unshareable&lt;/res-sharing-scope&gt;
      &lt;/resource-ref&gt;
      &lt;welcome-file-list&gt;
          &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
      &lt;/welcome-file-list&gt;
  
      &lt;context-param&gt;
          &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;
          &lt;param-value&gt;/WEB-INF/beans.config.xml&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;listener&gt;
          &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;
      &lt;/listener&gt;
  
      &lt;filter&gt;
          &lt;filter-name&gt;OpenSessionInViewFilter&lt;/filter-name&gt;
          &lt;filter-class&gt;model.misc.OpenSessionInViewFilter&lt;/filter-class&gt;
          &lt;init-param&gt;
              &lt;param-name&gt;sessionFactoryBeanName&lt;/param-name&gt;
              &lt;param-value&gt;sessionFactory&lt;/param-value&gt;
          &lt;/init-param&gt;
      &lt;/filter&gt;
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;OpenSessionInViewFilter&lt;/filter-name&gt;
          &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
      &lt;/filter-mapping&gt;
  
  &lt;/web-app&gt;
  </code></pre>
  
  <p>and beans.config.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
          http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"&gt;
  
  
      &lt;bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"&gt;
          &lt;property name="jndiName" value="java:comp/env/jdbc/xxx"&gt;&lt;/property&gt;
      &lt;/bean&gt;
  
      &lt;bean id="sessionFactory"
          class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt;
          &lt;property name="dataSource" ref="dataSource"&gt;&lt;/property&gt;
          &lt;property name="configLocation" value="classpath:hibernate.cfg.xml"&gt;&lt;/property&gt;
          &lt;!-- &lt;property name="hibernateProperties"&gt; &lt;props&gt; &lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.SQLServerDialect&lt;/prop&gt; 
              &lt;prop key="hibernate.show_sql"&gt;true&lt;/prop&gt; &lt;prop key="hibernate.current_session_context_class"&gt;thread&lt;/prop&gt; 
              &lt;/props&gt; &lt;/property&gt; &lt;property name="annotatedClasses"&gt; &lt;array&gt; &lt;value&gt;model.CustomerBean&lt;/value&gt; 
              &lt;value&gt;model.ProductBean&lt;/value&gt; &lt;/array&gt; &lt;/property&gt; --&gt;
      &lt;/bean&gt;
      &lt;context:annotation-config&gt;&lt;/context:annotation-config&gt;
      &lt;context:component-scan base-package="model"&gt;&lt;/context:component-scan&gt;
  &lt;/beans&gt;
  </code></pre>
  
  <p>I'm good to share any other source if it's required, thanks for any help.</p>