如何在外部 tomcat 中部署 Spring-boot REST API
Posted
技术标签:
【中文标题】如何在外部 tomcat 中部署 Spring-boot REST API【英文标题】:How to deploy Spring-boot REST API in external tomcat 【发布时间】:2017-11-23 01:31:51 【问题描述】:我有一个没有任何网页的 Spring-boot gradle 应用程序。这个应用程序有 REST api,当我将它作为 Spring boot 应用程序运行时,它被成功调用。
现在从 gradle 生成战争之后,当我尝试在 apache-tomcat-8.0.35 中部署它时,它正在被部署并且目录结构如下:-
但现在我无法使用 tomcat 端口 8080 访问我的 REST api。我已经检查过 tomcat 是否在http://localhost:8080。在调用 REST Api 时出现以下错误:
HTTP Status 403
谁能帮帮我。
谢谢
【问题讨论】:
这似乎是访问禁止错误。请检查您的 tomcat 配置是否安装了任何过滤器或其他阻止访问的配置。 启用安全性? @PRATHAPS 我刚刚下载了一个新的 tomcat 副本并在其中部署了我的应用程序。 【参考方案1】:在 build.gradle 中添加依赖:
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
并添加一个类:
public class ServletInitializer extends SpringBootServletInitializer
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
return application.sources(Application.class);
【讨论】:
以上是关于如何在外部 tomcat 中部署 Spring-boot REST API的主要内容,如果未能解决你的问题,请参考以下文章
无法在外部 tomcat 上部署 Spring Boot 应用程序
在外部 tomcat 中定义 Spring Boot 应用程序的上下文路径
Spring Boot REST Controller 部署在外部 tomcat 9 服务器上时返回 404