Tomcat / Gradle Spring 应用程序 - 请求的资源不可用

问题描述 投票:0回答:1

我正在尝试在外部 Tomcat 8.5.73 上部署 Spring Boot 应用程序,但是当我浏览我的

localhost:8080/myApplicationName
时,我收到 “请求的资源不可用” 错误。

我已成功部署我的 Angular 前端(在

localhost:8080/myAngularApp
上)并且工作正常。

这些是我已经遵循的步骤:

  • 正确设置JRE_HOME(jre1.8.0_51)和CATALINA_HOME变量;
  • 在Gradle中设置WAR打包;
  • 添加了
    spring-boot-starter-tomcat
    ,如我的 Gradle 依赖项中所提供;
  • SpringBootServletInitializer
    扩展了我的应用程序并覆盖了方法
    SpringApplicationBuilder configure
    ;
  • 将应用程序构建为
    Gradle War
    ;
  • 在 tomcat 的 /webapps 文件夹中添加了 .war 文件。

当我启动

startup.bat
时,我得到:

WARNING [localhost-startStop-1] org.apache.tomcat.util.descriptor.web.WebXml.setVersion Unknown version string [5.0]. Default version will be used.
INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [ .. \tomcat\webapps\myApplicationName.war] has finished in [4,823] ms
INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 10657 ms

我还尝试在 tomcat8w 中的启动和关闭属性上设置

java
而不是
jvm
,但我得到了相同的错误。

我可以在 tomcat 管理器面板上看到每个已部署的应用程序,但每次都会出现 404,除了我的前端。

我已将 .war 发送给我的一位同事,它在他的机器上运行良好,因此我 99% 确定问题出在我的 tomcat 配置中。无论如何,我和我的同事之间唯一的区别是,当他通过startup.bat启动tomcat时,他可以在他的tomcat日志上看到“spring标志”和spring日志。

java spring gradle tomcat
1个回答
0
投票

使用 Spring Boot 3.3.5 和 Java21 运行 Tomcat9 时,我收到了同样的错误消息。但是,当我升级到 Tomcat10 时,错误消失了。唯一的问题是,在 Ubuntu 上,您还需要至少升级到 24.04 才能从 apt 包管理获取 tomcat10。当然,您也可以进行普通安装。

© www.soinside.com 2019 - 2024. All rights reserved.