【问题标题】:How to deploy spring boot app on external tomcat server?如何在外部 tomcat 服务器上部署 spring boot 应用程序?
【发布时间】:2020-11-27 12:36:52
【问题描述】:

我有一个 Spring Boot 应用程序。它只有几个api。

它在嵌入式 tomcat 服务器上运行良好。

现在我需要部署到我的外部 tomcat 服务器。

所以我在 pom 文件中添加了 packaging as war

我尝试使用导出作为战争选项制作战争并将此战争文件放入我的外部 tomcat webapps 文件夹并尝试运行它。 它以 404 状态失败。

战争文件名

CghsMobileApp.war

我的休息控制器

@RestController
@RequestMapping("/cghs")
public class HcoRestController {

    @Autowired
    private hcoService hcoSrvc;

    @GetMapping("/cghsCity")
    public List<CghsCity> getCghsCity() {
        return hcoSrvc.getCghsCity();
    }
}

我尝试点击的网址

http://localhost:8080/CghsMobileApp/cghs/cghsCity

我的 api 项目中没有 html 页面。我需要添加一个war文件才能工作吗?

我在这里迷路了。 如有任何帮助,我们将不胜感激。

【问题讨论】:

  • 这可能有很多原因。你能提供给我们你的 pom.xml 文件吗?并提供有关该项目的更多信息? Manly 我建议您在路径上缺少 /projectname。
  • 好的,分享我的 pom 文件
  • 我很困惑,我可以使用外部tomcat部署jar文件。如果有怎么办?
  • 尝试通过/CghsMobileApp访问服务器
  • 我试过,通过创建war文件并将其添加到tomcat webapps中,它失败了,出现404错误

标签: java spring-boot tomcat deployment


【解决方案1】:

查看了spring boot的规范,发现在@SpringBootApplication注解的类中要扩展SpringBootServletInitializer,用于外部服务器war部署。

package gov.cghs.CghsMobileApp;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class CghsMobileAppApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(CghsMobileAppApplication.class, args);
    }
}

【讨论】:

    【解决方案2】:

    但不幸的是,在使用 Spring Profile 时,这将无济于事。如果您的任何课程使用@Profile("profileName"),,则需要传入。

    使用 fat jar 很容易使用命令行参数--spring.profiles=&lt;name&gt;

    当部署在外部 Tomcat 中时,必须修改外部 tomcat(即 catalina.properties 需要 -Dspring.profile=

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-15
      • 2016-04-03
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      • 2018-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多