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(踩坑记录)的主要内容,如果未能解决你的问题,请参考以下文章