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

报错信息

java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:225)
at java.util.zip.ZipFile.<init>(ZipFile.java:155)
...
严重 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployWAR 部署 Web 应用程序 archive [/apache-tomcat-9.0.39/webapps/xxxx.war] 时出错
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:706)
...

原因分析

从报错信息可以看出,是在打包时已经出现了错误“error in opening zip file”, 因此tomcat启动时无法解析此war包。

解决方式

删除tomcat下的webapps中的war包,以及已经解压的文件夹(文件夹名称与war包名称一致),然后再重新打包, 打包方式如下:

  1. 进入源代码文件夹中(pom.xml所在的文件夹)
    Tomcat启动springboot项目war包报错:启动子级时出错_第1张图片

  2. 按下shift键以及鼠标右键,选择“在此处打开Powershell窗口”或者“在此处打开cmd窗口”根据操作系统选择
    Tomcat启动springboot项目war包报错:启动子级时出错_第2张图片

  3. 输入“mvn clean package”,然后按下回车键进行打包
    Tomcat启动springboot项目war包报错:启动子级时出错_第3张图片

  4. 出现BUILD SUCCESS 则表示打包成功

  5. 重新部署至tomcat容器中

你可能感兴趣的:(spring,boot,Tomcat,tomcat,maven,java)