Spring Boot 部署在 Tomcat 中,提供 404 但工作 独立

2022-09-03 12:23:51

我已经用嵌入式Tomcat测试Spring Boot大约一个月了,以构建REST API。一切都很好。我们现在希望将API部署在一个单独的开发环境中,该环境在Tomcat容器上运行其他几个(非Spring)应用程序。

我进行了使用 Maven 和 Spring Boot Docs 将 Spring Boot JAR 应用程序转换为 WAR 中指定的更改。

部署进行得很顺利(日志很好,没有错误),看着Tomcat管理,我看到我的应用程序已部署。但是,当我尝试访问 http://localhost:8080/sophia/users 时,我得到404。

任何帮助都非常感谢。

更新:

这是我的日志:

网豆:

NetBeans:部署在 Apache Tomcat 8.0.17 配置文件模式:假调试模式:假强制重新部署:真

在 /home/bugz/workspace/pdcore/sophiaserver/target/sophia-server-1.0.0-SNAPSHOT 进行就地部署

部署正在进行中...

deploy?config=file%3A%2Ftmp%2Fcontext1845402702541504208.xml&path=/sophia

确定 - 在上下文路径 /sophia 上部署应用程序

“开始”正在进行中...

start?path=/sophia

确定 - 在上下文路径 /sophia 处启动应用程序

雄猫:

INFO 10:47:52:703 org.springframework.boot.context.embedded.ServletRegistrationBean - Mapping servlet: 'dispatcherServlet' to [/sophia/*]

INFO 10:47:54:042 org.springframework.boot.SpringApplication - 在 8.285 秒内启动应用程序(JVM 运行时间为 12087.301)

22-Jan-2015 10:47:54.060 INFO [http-nio-8080-exec-99] org.apache.catalina.startup.HostConfig.deployDescriptor configuration descriptor 的部署 /home/bugz/workspace/server/apache-tomcat-8.0.17/conf/Catalina/localhost/sophia.xml 在 12,091 毫秒内完成

在索菲亚.xml卡塔利娜当地主人:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" docBase="/home/bugz/workspace/pdcore/sophiaserver/target/sophia-server-1.0.0-SNAPSHOT" path="/sophia"/>

我已尝试访问

  1. http://localhost:8080/sophia/users
  2. http://localhost:8080/sophia-server-1.0.0-SNAPSHOT/users(战争的名称)

第一个返回 404,但包含来自我的 CORS 筛选器 Bean 的 CORS 信息。第二个返回404,没有CORS信息(这表示应用程序已启动并已配置,但我似乎无权访问控制器)。


答案 1

运行应用程序时,要调用的路径由几个部分组成。

第一个是部署应用程序的基 URL,在本例中为 。/sophia

第二个是 servlet 映射,在你的情况下是 。DispatcherServlet/sohpia/*

第三个是 控制器在 中映射,在您的示例中是 。DispatcherServlet/users

所有这些因素结合在一起创建了URL 。/sophia/sophia/users

作为 WAR 的部署之间的区别在于,您包含了一个单独的 URL 来部署,当作为 jar 运行时,默认情况下,它被部署到(根)。/

您可以通过将 作为 和 map to 或 .在这两种情况下,这将为您提供所需的URL(和预期的URL)。/sophiaserver.context-pathapplication.propertiesDispatcherServlet/*/


答案 2

检查java -version意味着如果你在java 8中遵守了战争,而tomcat在java 7上运行,那么它就不起作用。


推荐