2016-11-18 166 views
2

我在使用eclipse neon-1在tomcat-8上運行應用程序時發生此錯誤,它使用的是spring-4.3。 3,hibernate-5.2.4和maven。無法啓動組件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ LabWebServletHibernate]]

嚴重: 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 [[email protected]] 
    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 [[email protected]] 
    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) 

這裏是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<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"> 
    <display-name>LabWebServletHibernate</display-name> 

    <resource-ref> 
     <res-ref-name>jdbc/xxx</res-ref-name> 
     <res-type>javax.sql.DataSource</res-type> 
     <res-auth>Container</res-auth> 
     <res-sharing-scope>Unshareable</res-sharing-scope> 
    </resource-ref> 
    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/beans.config.xml</param-value> 
    </context-param> 
    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

    <filter> 
     <filter-name>OpenSessionInViewFilter</filter-name> 
     <filter-class>model.misc.OpenSessionInViewFilter</filter-class> 
     <init-param> 
      <param-name>sessionFactoryBeanName</param-name> 
      <param-value>sessionFactory</param-value> 
     </init-param> 
    </filter> 
    <filter-mapping> 
     <filter-name>OpenSessionInViewFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

</web-app> 

和beans.config.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<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"> 


    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
     <property name="jndiName" value="java:comp/env/jdbc/xxx"></property> 
    </bean> 

    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource"></property> 
     <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> 
     <!-- <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> 
      <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.current_session_context_class">thread</prop> 
      </props> </property> <property name="annotatedClasses"> <array> <value>model.CustomerBean</value> 
      <value>model.ProductBean</value> </array> </property> --> 
    </bean> 
    <context:annotation-config></context:annotation-config> 
    <context:component-scan base-package="model"></context:component-scan> 
</beans> 

我好共享任何其他來源,如果它是必需的,謝謝任何幫助。

回答

10

您的項目的任何jar依賴項似乎已損壞。您可以嘗試刪除所有本地Maven回購文件夾,或者如果您可以設法知道哪個文件已損壞,只需將其刪除即可。

theese動作後,只需更新Maven依賴,它應該開始工作

+0

我已經試過,仍然沒有字,也是同樣的錯誤:( –

+0

我再次嘗試,現在突然有效,謝謝! –

0

同樣的問題就出來了,當我刪除的pom.xml的依賴。然後我只是更新Maven依賴項(右鍵單擊項目 - > Maven - >更新項目)並清理我的項目(項目 - >清理),不起作用。 最後,我只是從tomcat服務器上刪除項目,然後再次添加項目。這行得通!

0

此問題可能是因爲您的項目正在使用的jar文件必須已損壞。由於我的機器是窗戶,所以我前往以下路徑

C://Users//.m2/repository/

通過刪除該庫中的所有文件和文件夾修復此錯誤。 這些瓶子將被重新下載,並且在eclipse中重新啓動並清理工作空間後,此錯誤已解決。

相關問題