Tomcat 8 升级为 Tomcat10(踩坑记录)

Posted HaSaKing_721

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat 8 升级为 Tomcat10(踩坑记录)相关的知识,希望对你有一定的参考价值。

前言

由于Tomcat 8.x ~Tomcat 9.x 多次频繁暴露出漏洞 ,因此要升级到最新版本Tomcat10

出现的问题

把之前WAR包放在Tomcat10的webapps 下运行,启动时,如图。什么鬼,怎么带不起项目

 

问题排查

找到Tomcat官网解释如下

翻译之后:

 Tomcat 10以后的用户应该知道,作为Java EE到Eclipse Foundation转移的一部分,从Java EE转移到Jakarta EE的结果是,所有实现api的主要包已经从javax.*  更改为 jakarta.*。这几乎肯定需要修改代码,以使应用程序能够从Tomcat 9和更早的版本迁移到Tomcat 10和更高版本。已经开发了一个迁移工具来帮助这个过程。

初步尝试解决

1. 按照官网给出的解决方案,首先下载工具类

 

2.  解压后,打开Lib目录

 

 3.  把项目war包放入,执行命令,  我这里放到同级目录

 

 java -jar jakartaee-migration-xxxx.jar <source> <destination>

<source>:需要进行二次编译的war包路径
<destination>:编译之后的war包路径

java -jar jakartaee-migration-1.0.1.jar imms-web.war imm-web_jar.war

报错了!!!!!wath?

zip报错.... 

 

 最终解决

查看帮助命令

 

原来官方给出了解决方案   -zipInMemory

默认的zip格式档案(.zip, jar, .war, .ear等)

作为流处理。这是更有效的,但不是

兼容一些zip存档结构。如果你看到

在处理zip文件时异常,启用此选项

可以通过在内存中处理存档来解决这个问题。

这比流式方法需要更多的内存,但确实如此

能够处理更广泛的zip归档结构。

使用命令

java -jar jakartaee-migration-1.0.1.jar -zipInMemory imms-web.war imm-web_jar.war

 完美解决

把解析之后的war包放入wabapps ,正常启动,问题解决!!!!!!!!

以上是关于Tomcat 8 升级为 Tomcat10(踩坑记录)的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat 8 升级为 Tomcat10(踩坑记录)

JavaEE tomcat10踩坑记录

nginx+ipv6+https升级踩坑记

tomcat配置https踩坑

tomcat配置https踩坑

KubeSphere2.1踩坑记