项目场景:
原有项目是使用jdk1.8 + Tomcat8在服务器上以war包方式运行,由于安全扫描到许多Tomcat8的漏洞,所以需要将Tomcat8升级到Tomcat10
问题描述
服务启动,就一直没反应。但是Tomcat10已经启动,能够访问到tomcat内置的页面,但是访问服务,返回404。
原因分析:
将静态文件放到Webapps,重复上述步骤也同样可以访问到静态页面:唯独不解析.class文件。
解决方案:
于是百度一下,结果很少有相应的解决描述,到官网使用中文翻译过来发现一段话

于是点击上方图片中红色框中最后一个“下载离线版”下载官方提供的迁移工具二进制文件下载链接:选择zip(pgp,sha512)下载,解压之后找到jakartaee-migration-0.2.0.jar,如下图

将需要进行二次编译的war包拷贝至下载的压缩包解压后的jakartaee-migration-1.0.0-bin文件夹下,然后执行二次编译命令即可编译成功,编译成功的war包扔到webapps目录下可以成功启动。

编译命令如下:
java -jar jakartaee-migration-1.0.0.jar <source> <destination>
<source>:需要进行二次编译的war包路径
<destination>:编译之后的war包路径

命令执行成功之后会出现新的war包文件:

将编译后的新war包文件添加至Webapps目录下启动tomcat即可。
由于安全原因需将项目中使用的Tomcat8升级到Tomcat10,但在升级后出现服务启动返回404的问题。原因是Tomcat10不解析.class文件。解决方案是使用JakartaEE的迁移工具进行二次编译war包。通过下载官方提供的迁移工具二进制文件,执行特定命令对war包进行编译,然后将新war包放入webapps目录下,服务即可正常启动。
3010

被折叠的 条评论
为什么被折叠?



