tomcat10 springboot项目部署成功但springboot没有启动日志问题
问题描述
- 项目在tomcat8可以启动成功,请求也可以正常处理,在tomcat10上只有部署成功信息比如: deployWAR Deployment of web application archive [/data1/WWW/webapps/XXX.war] has finished in [127] ms, 但是没有springboot启动的信息。
- 该问题 不属于springboot打包为war包不成功问题 ,既然在tomcat8上能正常启动,说明和 SpringBootServletInitializer、排除内置tomcat等都无关 。
- 因此,该问题可能是tomcat8和tomcat10以及Java版本的问题相关。原来的项目是jdk1.8 + springboot 2.6.11 + tomcat8,由于tomcat8的漏洞问题,需要升级到tomcat10。我猜测是由于Java版本不一致问题,都设置为11,但是也不起作用。
解决方案
- https://github.com/apache/tomcat-jakartaee-migration,该工具是让 转换tomcat8、9上基于JavaEE8编写的web应用,让其可以在基于Jakarta EE9实现的tomcat10上运行。
- 下载地址:https://tomcat.apache.org/download-migration.cgi,或者:
wget https://dlcdn.apache.org/tomcat/jakartaee-migration/v1.0.8/binaries/jakartaee-migration-1.0.8-bin.zip
- unzip文件,进入 `jakartaee-migration-1.0.8-bin/jakartaee-migration-1.0.8/lib/,将自己的war包放在相同目录下。执行:
java -jar jakartaee-migration-1.0.8.jar 你的应用.war /目标生成路径/你的应用.war
随后,在目标路径会有一个新的war包,将该war包放到tomcat10的webapps下,重新启动bin/startup.sh,查看logs/catalina.out,如果你的日志有如下面的信息,代表启动成功:
分类:
Java
, SpringBoot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话