Spring Boot,tomcat,rest api 404

rqmkfv5c  于 2021-07-14  发布在  Java
关注(0)|答案(1)|浏览(444)

我正在使用kotlin+gradle并尝试构建一个war文件来部署在tomcat上。我的申请来自https://start.spring.io plus 一个简单的控制器,并使用 ./gradlew bootWar ```
@SpringBootApplication
class ServletInitializer : SpringBootServletInitializer() {

override fun configure(application: SpringApplicationBuilder): SpringApplicationBuilder {
    return application.sources(DemoApplication::class.java)
}

}

@RestController
class TomcatController {
@GetMapping("/hello")
fun sayHello(): Collection {
return IntStream.range(0, 10)
.mapToObj { i: Int -> "Hello number $i" }
.collect(Collectors.toList())
}
}

当我尝试访问它时

Type Status Report

Message The requested resource [/demo-0.0.1-SNAPSHOT/hello] is not available

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

我被卡住了。我做错什么了?如果我添加一个html文件到 `src/main/webapp/index.html` 由于某种原因,只有restapi无法访问。
jpfvwuh4

jpfvwuh41#

spring启动应用程序附带了一个内置的servlet。在ide中启动应用程序时,您可能已经在使用此功能。
这基本上意味着您可以在任何web服务器上运行您的.jar文件,而无需设置额外的tomcat示例。
但是,如果您希望将spring引导应用程序构建为war文件并将其部署到外部tomcat,则需要按照本文中所述的一些额外步骤进行操作。

相关问题