tomcat升级后,再重启项目,踩到的坑
背景:应客户要求,需要把tomcat的http协议,换成https的协议,然后第三方提出tomcat版本过低,需要先升级。
先出现的错误日志是这样的
信息: 初始化协议处理器 [“http-bio-8080”]
三月 28, 2020 2:26:57 下午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 690 ms
三月 28, 2020 2:26:57 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service [Catalina]
三月 28, 2020 2:26:57 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.103
三月 28, 2020 2:26:58 下午 org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
信息: validateJarFile(F:\eclipse-jee-juno\workspace2.metadata.plugins\org.eclipse.wst.server.core\tmp5\wtpwebapps\XXXXXX\WEB-INF\lib\javax.servlet-api-3.1.0.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
三月 28, 2020 2:26:58 下午 org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
信息: validateJarFile(F:\eclipse-jee-juno\workspace2.metadata.plugins\org.eclipse.wst.server.core\tmp5\wtpwebapps\XXXXXX\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
三月 28, 2020 2:26:58 下午 org.apache.catalina.deploy.WebXml setVersion
警告: Unknown version string [3.1]. Default version will be used.
三月 28, 2020 2:26:58 下午 org.apache.catalina.core.ContainerBase startInternal
严重: 子容器启动失败
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/XXXXXX]]
然后是这样的
查找日志,发现是servlet-api.jar和javax.servlet-api-3.1.0.jar两个jar包与tomcat自带jar包冲突,就把项目中WEB-INF\lib下的jar包删除,再重新部署,重启tomcat还是失败。又开始报下边的错误
信息: 初始化协议处理器 [“http-bio-8080”] 三月 28, 2020 2:33:04 下午
org.apache.catalina.startup.Catalina load 信息: Initialization processed
in 1647 ms 三月 28, 2020 2:33:04 下午
org.apache.catalina.core.StandardService startInternal 信息: Starting
service [Catalina] 三月 28, 2020 2:33:04 下午
org.apache.catalina.core.StandardEngine startInternal 信息: Starting
三月 28, 2020 2:33:05 下午 org.apache.catalina.core.ContainerBase
三月 28, 2020 2:33:05 下午 org.apache.catalina.startup.Catalina start 严重:
所必需的服务组件启动失败,所以无法启动Tomcat org.apache.catalina.LifecycleException:
子容器启动失败 at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1238)
at
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at
org.apache.catalina.core.StandardService.startInternal(StandardService.java: