场景:原有项目是使用springboot2.4 + jdk1.8 + Tomcat8在服务器上以war包方式运行,由于安全扫描到许多Tomcat8的漏洞,所以需要将Tomcat8升级到Tomcat10;
操作:使用docker在云端那去最新版本tomcat,启动tomcat并映射webapp的路径,将程序放在Webapps下
结果:服务启动,就一直没反应。但是Tomcat10已经启动,能够访问到tomcat内置的页面
验证1:将静态文件放到Webapps,重复上述步骤也同样可以访问到静态页面。
唯独不解析.class文件,于是百度一下,结果很少有相应的解决描述,到官网使用中文翻译过来发现一段话
image.png
于是点击上方图片中红色框中最后一个“下载离线版”下载官方提供的迁移工具二进制文件:
选择zip(pgp,sha512)下载,解压之后找到jakartaee-migration-0.2.0.jar,如下图
image.png
下载地址:https://dlcdn.apache.org/tomcat/jakartaee-migration/v1.0.0/binaries/jakartaee-migration-1.0.0-bin.zip
将需要进行二次编译的war包拷贝至下载的压缩包解压后的jakartaee-migration-1.0.0-bin文件夹下,然后执行二次编译命令即可编译成功,编译成功的war包扔到webapps目录下可以成功启动。
编译命令:
java -jar jakartaee-migration-1.0.0.jar <source> <destination>
<source>:需要进行二次编译的war包路径
<destination>:编译之后的war包路径
建议:都放在同一个目录下即可