Tomcat启动springboot项目war包报错:启动子级时出错的问题

 更新时间:2020年08月08日 10:11:12   作者:码洪  
这篇文章主要介绍了Tomcat启动springboot项目war包报错:启动子级时出错的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

今天公司springboot项目准备部署到测试服务器上进行测试,打包好war后放到tomcat里面启动后,前端文件能访问到,但是接口请求一直是404,一直找了很久的原因,tomcat启动是成功的,war打包的时候也提示build success了,tomcat启动日志发现报错:

java.lang.IllegalStateException: 启动子级时出错
  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720)
  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
  at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:978)
  at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1848)
  at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
  at java.util.concurrent.FutureTask.run(Unknown Source)
  at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
  at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
  at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:773)
  at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
  at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
  at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
  at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
  at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
  at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
  at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
  at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
  at java.util.concurrent.FutureTask.run(Unknown Source)
  at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
  at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
  at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
  at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
  at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
  at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
  at org.apache.catalina.startup.Catalina.start(Catalina.java:738)
  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:342)
  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
 Caused by: org.apache.catalina.LifecycleException: 初始化组件[org.apache.catalina.webresources.JarResourceSet@67d48005]失败。
  at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
  at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:139)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:173)
  at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:726)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
  at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4792)
  at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4928)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
  ... 37 more
 Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: error in opening zip file
  at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:143)
  at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
  ... 44 more
 Caused by: java.util.zip.ZipException: error in opening zip file
  at java.util.zip.ZipFile.open(Native Method)
  at java.util.zip.ZipFile.<init>(Unknown Source)
  at java.util.zip.ZipFile.<init>(Unknown Source)
  at java.util.jar.JarFile.<init>(Unknown Source)
  at java.util.jar.JarFile.<init>(Unknown Source)
  at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:221)
  at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:206)
  at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:140)
  ... 45 more

一直在关注:启动子级时出错,找了很久没有解决!后面关注到下面的zip错误问题,然后再回去考虑打包的问题,终于发现打包的时候出现了问题,虽然最后是build success,但是前面提示了有error没注意到,截图如下:

这就是问题所在,怎么解决的呢?

解决方法:

将报错的jar包从maven仓库中删除掉,然后重新下载打包,发现这一次没有报错error,然后扔到tomcat里面启动没有错误日志了,访问也正常了!

谨以此文章记录提醒以后自己多关注一下项目执行、打包等过程和日志等!

总结

到此这篇关于Tomcat启动springboot项目war包报错:启动子级时出错的问题解决方案的文章就介绍到这了,更多相关Tomcat启动springboot项目war包报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux安装配置Tomcat教程

    Linux安装配置Tomcat教程

    这篇文章主要为大家详细介绍了Linux安装配置Tomcat教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • tomcat 开启远程debug模式的方法步骤

    tomcat 开启远程debug模式的方法步骤

    在部署和使用Apache Tomcat时,可能需要根据具体需求修改其启动参数和环境变量,以优化性能或适应特定的运行环境,本文就来介绍一下tomcat 开启远程debug模式的方法步骤,感兴趣的可以了解一下
    2024-11-11
  • idea打包成war包部署到tomcat及访问路径问题(图文详解)

    idea打包成war包部署到tomcat及访问路径问题(图文详解)

    这篇文章主要介绍了idea打包war包部署到tomcat以及访问路径问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Nginx/Httpd负载均衡tomcat配置教程

    Nginx/Httpd负载均衡tomcat配置教程

    这篇文章主要介绍了Nginx/Httpd负载均衡tomcat配置方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • tomcat报错:地址localhost:8080已在使用中的解决方法

    tomcat报错:地址localhost:8080已在使用中的解决方法

    今天使用tomcat发现一个问题,本文就介绍一下报错地址localhost:8080已在使用中的解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-05-05
  • Tomcat首次部署web项目流程图解

    Tomcat首次部署web项目流程图解

    这篇文章主要介绍了Tomcat首次部署web项目流程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Tomcat安装与配置Native APR模式的教程

    Tomcat安装与配置Native APR模式的教程

    APR是Apache HTTP服务器的支持库,提供了一组映射到下层操作系统的API。通过 tomcat-native 库,使tomcat运行时通过APR更多的调用本地API,达到提升性能的目的。下面这篇文章详细介绍了Tomcat安装与配置Native APR模式的教程,需要的朋友可以参考借鉴,一起来看看吧。
    2017-02-02
  • Tomcat 是如何管理Session的方法示例

    Tomcat 是如何管理Session的方法示例

    这篇文章主要介绍了Tomcat 是如何管理Session的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 使用Tomcat无法访问http:localhost:8080的解决方法

    使用Tomcat无法访问http:localhost:8080的解决方法

    本文主要介绍了使用Tomcat无法访问http:localhost:8080的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Tomcat中redirectPort的作用

    Tomcat中redirectPort的作用

    这篇文章主要介绍了Tomcat中redirectPort的作用,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09

最新评论