【问题标题】:Tomcat on spring is not loadedspring 上的 Tomcat 未加载
【发布时间】: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!这解决了我被困一天的问题。

标签: java spring tomcat


【解决方案1】:

尝试删除服务器,然后再次添加新的 tomcat 服务器并运行它。对我来说这很有效。

【讨论】:

    【解决方案2】:

    有时会有几个问题。给pom文件添加新的依赖后,maven下载jar,如果jar因为某种原因被破坏,tomcat启动失败。

    正如@Sangram Jadhav 建议的那样,删除新下载的罐子。或者

    如果您不确定,请仅删除 .m2 文件夹。

    Tomcat 也存在问题,发生这种情况后它无法启动,因此请删除您使用 eclipse 配置的 Tomcat。重新设置。 tomcat 将启动。

    首先尝试此步骤,例如在 Eclipse 中重置 Tomcat 设置,否则从 .m2 中删除 jar 或删除完整的 .me 文件夹。

    希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 2011-03-18
      • 2017-07-04
      相关资源
      最近更新 更多