AWS实例Tomcat部署.war文件成功但无法启动应用,求解决方案
Spring MVC应用部署AWS Tomcat启动失败排查方案
当前你提供的Catalina日志仅包含Tomcat服务自身初始化、默认内置应用部署的正常信息,其中提到的Apache Tomcat Native library未找到属于常规警告,不会影响应用正常启动,日志中也没有记录你上传的Spring MVC应用启动阶段的报错内容,可按以下步骤依次排查:
- 优先提取你点击启动应用对应时间点的完整日志,重点关注
Catalina.out中ERROR、SEVERE级别的输出,以及localhost.{日期}.log日志文件,后者会单独记录单个Web应用启动的详细错误,定位精度远高于通用Catalina日志。 - 校验JDK版本兼容性:确认你本地打war包使用的JDK版本和AWS实例上的JDK1.8版本兼容,如果本地使用JDK9及以上版本编译打包,未指定
-source 1.8 -target 1.8编译参数的话,会出现类版本不支持错误,直接导致应用启动失败。 - 校验项目配置合法性:
- 非Spring Boot的原生Spring MVC项目需确认web.xml或者注解式Servlet配置正确,DispatcherServlet路径映射无冲突
- 基于Spring Boot改造的Spring MVC项目需确认继承了
SpringBootServletInitializer类,重写了configure方法,否则Tomcat无法识别Web应用入口
- 校验文件权限:确认你上传的war包以及Tomcat自动解压后的应用目录,权限归属和Tomcat运行用户一致,若Tomcat以普通用户身份运行,而war包是root用户上传的,会因读写权限不足导致应用资源加载失败。
- 校验依赖完整性:确认打war包时所有依赖包都正确打入了
WEB-INF/lib目录下,缺失Spring核心依赖、数据库驱动等jar包会直接导致上下文初始化失败。
你本次上传war包、通过管理页部署的操作流程本身没有问题,启动失败基本都是应用配置和环境兼容性问题,找到对应报错日志后可以进一步定位根因。
内容的提问来源于stack exchange,提问作者Nikhil Bansal
相关产品推荐
相关产品推荐

