如何使用 Tomcat 部署(和访问)Spring Boot 战争? (使用入门指南)
Posted
技术标签:
【中文标题】如何使用 Tomcat 部署(和访问)Spring Boot 战争? (使用入门指南)【英文标题】:How to deploy (and access) SpringBoot war with Tomcat? (using Getting started guide) 【发布时间】:2015-03-27 23:52:51 【问题描述】:如何创建(和访问)基于 Serving Web Content with Spring MVC guide 的可部署战争?
感觉步骤都成功了,但是当尝试查看页面时,返回 404 错误...可能我只是尝试访问错误的 url?
本教程在创建和运行 jar 时效果很好,但是当我尝试从战争中访问网页时,会导致 404 错误。
第 1 步。Create a deployable war file
使Application类扩展SpringBootServletInitializer 这会导致Packaging executable jar and war files,这涉及更改打包标签,并将嵌入式容器依赖项标记为“已提供” 使用 mvn package 打包 war 文件第 2 步。部署!
将 gs-serving-web-content-0.1.0.war 复制到 Tomcat 的 webapps 目录中 Tomcat 然后创建目录 gs-serving-web-content-0.1.0 Tomcat 控制台说:deployWAR
INFO: Deployment of web application archive C:\Programs\apache-tomcat-7.0.56\web
apps\gs-serving-web-content-0.1.0.war has finished in 2,746 ms
第 3 步。查看网页(这就是问题所在)
http://localhost:8080/greeting?name=AAA: 404 错误(来自 Tomcat) http://localhost:8080/gs-serving-web-content-0.1.0/greeting?name=AAA: 404 错误(来自 Tomcat)任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:http://localhost:8080/gs-serving-web-content-0.1.0/greeting?name=AAA 是应该可以使用的 URL,但听起来您的 Boot 应用程序尚未启动。如果它已经启动,你会在 Tomcat 的控制台日志中看到 Boot 的通常输出。
我猜它还没有开始,因为你没有告诉你的SpringBootServletInitializer
子类你的应用程序的配置类。你是否覆盖了configure
?它应该看起来像这样:
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
return application.sources(YourApplication.class);
【讨论】:
以上是关于如何使用 Tomcat 部署(和访问)Spring Boot 战争? (使用入门指南)的主要内容,如果未能解决你的问题,请参考以下文章
spring boot 部署war 到tomcat上面静态资源无法访问
将 Spring Boot WAR 部署到 Tomcat 8 - 访问资源时的 HTTP 404
部署到 Tomcat 10 后无法访问 Spring Boot 应用程序 [重复]