【发布时间】:2017-04-29 09:33:41
【问题描述】:
我正在eclipse中使用spring。当我运行我的服务器时,它显示错误如下:
错误:
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpringMVCAnnotationSecurity]] 在 java.util.concurrent.FutureTask.report(Unknown Source) 在 java.util.concurrent.FutureTask.get(未知来源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:939) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 在 java.util.concurrent.FutureTask.run(Unknown Source) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 原因: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpringMVCAnnotationSecurity]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ... 6 更多原因:org.apache.catalina.LifecycleException: Failed 启动组件 [org.apache.catalina.webresources.StandardRoot@7d8d6983] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 在 org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4842) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4974) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 6 更多原因:org.apache.catalina.LifecycleException: Failed 初始化组件 [org.apache.catalina.webresources.JarResourceSet@4889c18] 在 org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) 在 org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:708) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 9 更多原因:java.lang.IllegalArgumentException: java.util.zip.ZipException:无效的 LOC 标头(错误的签名)在 org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113) 在 org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) ... 12 更多原因:java.util.zip.ZipException:无效的 LOC 标头 (错误签名)在 java.util.zip.ZipFile.read(Native Method) 在 java.util.zip.ZipFile.access$1400(未知来源)在 java.util.zip.ZipFile$ZipFileInputStream.read(Unknown Source) at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(未知来源) 在 java.util.zip.InflaterInputStream.read(Unknown Source) 在 sun.misc.IOUtils.readFully(未知来源)在 java.util.jar.JarFile.getBytes(未知来源)在 java.util.jar.JarFile.getManifestFromReference(未知来源)在 java.util.jar.JarFile.getManifest(未知来源)在 org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:111) ... 13 更多
2016 年 12 月 14 日下午 12:06:37 org.apache.jasper.servlet.TldScanner scanJars 信息:至少有一个 JAR 已扫描 TLD,但未包含 TLD。 启用此记录器的调试日志记录以获取完整的 JAR 列表 已扫描但未在其中找到 TLD。跳过不需要的 JAR 在扫描期间可以提高启动时间和 JSP 编译时间。十二月 2016 年 14 月 14 日下午 12:06:37 org.apache.catalina.core.ContainerBase startInternal SEVERE:子容器在启动期间失败 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost]] 在 java.util.concurrent.FutureTask.report(未知来源)在 java.util.concurrent.FutureTask.get(未知来源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:939) 在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:655) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495) 引起 作者:org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 在 java.util.concurrent.FutureTask.run(Unknown Source) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 原因: org.apache.catalina.LifecycleException:子容器失败 在开始时 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:947) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 6 更多
2016 年 12 月 14 日下午 12:06:37 org.apache.catalina.startup.Catalina 开始 严重:所需的服务器组件无法启动,因此 Tomcat 是 无法启动。 org.apache.catalina.LifecycleException: 失败 启动组件 [StandardServer[8005]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:655) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495) 引起 作者:org.apache.catalina.LifecycleException:无法启动组件 [标准服务 [Catalina]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 在 org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 7 更多原因:org.apache.catalina.LifecycleException:失败 启动组件 [StandardEngine[Catalina]] 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 在 org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 9 更多原因:org.apache.catalina.LifecycleException: A child 容器在启动期间失败 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:947) 在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 11 更多
我的 pom.xml 是:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.o7.planning</groupId>
<artifactId>SpringMVCAnnotationSecurity</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>SpringMVCAnnotationSecurity Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<!-- Generic properties -->
<java.version>1.7</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<repositories>
<!-- Repository for ORACLE JDBC Driver -->
<repository>
<id>codelds</id>
<url>https://code.lds.org/nexus/content/groups/main-repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.24</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>
<build>
<finalName>SpringMVCAnnotationSecurity</finalName>
</build>
</project>
问题出在哪里?
【问题讨论】:
-
似乎其中一个 jar 已损坏。尝试清理 .m2 目录(位于您的主目录中)并重建和部署您的应用程序
-
感谢@SangramJadhav。刚刚删除了我的 .m2 目录并更新了 maven 依赖项,就像一个魅力
-
谢谢@SangramJadhav!这解决了我被困一天的问题。