【问题标题】:Tomcat war gets deployed but spring boot app does not start runningTomcat 战争已部署,但 Spring Boot 应用程序未开始运行
【发布时间】:2021-12-23 16:16:16
【问题描述】:

我正在尝试在 tomcat 服务器上部署一个 spring boot 应用程序。 我的 pom.xml 文件中有这个依赖项:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

当检查服务器 (catalina.out) 的日志时,它会说:

Deployment of web application archive [/home/username/apache-tomcat-8.5.57/webapps/myapp.war] has finished in [4,501] ms

由于 .war 文件位于 /webapps 目录中,因此会创建目录 webapps/myapp。但是,当我尝试访问该服务时,我收到一个 404 错误,指出“请求的资源不可用”。我尝试过前端 Angular 应用程序、邮递员和直接从浏览器获取的简单请求。 spring 的日志永远不会出现在 tomcat 的日志中。

.war 文件是使用以下命令构建的:

mvn clean package -Pprod

注意:在同一个 tomcat 服务器上,有一个运行良好的 angular 应用程序。该服务器以前曾使用过,并且已使用当前配置。我相信这与我的部署方式有关(?)

【问题讨论】:

  • “当我尝试访问服务时...”您究竟是如何尝试访问服务的?也许您应该在网址末尾添加/myapp
  • @dhakalkumar 是的,我使用 /myapp,这绝对不是问题。正如我所提到的,部署应用程序后,Spring Boot 初始化日志甚至都不会显示。

标签: java spring-boot tomcat deployment war


【解决方案1】:

我终于找到了问题所在。因为该项目最初是由某个同事创建的,所以 pom.xml 文件比它原本的位置高一级。我不知道他们为什么这样做,也不知道他们是如何工作和部署的。将 pom.xml 移动到旨在解决问题的目录。
编辑:这也很有趣的是,使用 spring boot 的嵌入式 tomcat 服务器在本地运行项目并没有导致这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-17
    • 2019-03-21
    • 2015-10-28
    • 2015-10-03
    • 1970-01-01
    • 2019-03-23
    • 2016-03-23
    • 2015-12-16
    相关资源
    最近更新 更多