报错信息
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包名称一致),然后再重新打包, 打包方式如下:
-
进入源代码文件夹中(pom.xml所在的文件夹)
-
按下shift键以及鼠标右键,选择“在此处打开Powershell窗口”或者“在此处打开cmd窗口”根据操作系统选择
-
输入“mvn clean package”,然后按下回车键进行打包
-
出现BUILD SUCCESS 则表示打包成功
-
重新部署至tomcat容器中