【发布时间】:2019-08-27 17:23:18
【问题描述】:
我有一个 Spring Boot 后端和一个 Angular 前端应用程序,只需将 Angular 应用程序复制到 Spring Boot 应用程序的 resources/static 文件夹中,就可以成功地从它们创建一个可运行的 jar 文件。
运行 jar 工作正常,我可以访问 localhost:8000 上的应用程序(因为我将 server.port 属性设置为 8000)并且它按预期工作。
现在我想创建一个可部署的 war 文件而不是可运行的 jar 并在 Tomcat 中部署应用程序,所以我应用了 war 插件并声明了以下 gradle 依赖项(根据 @ 987654321@):
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
现在构建成功生成了一个war文件,Tomcat可以部署和启动它而没有任何错误。部署后,应用程序可在localhost:8080/myapp
问题是当我实际打开应用程序时,它似乎试图从错误的位置获取 Angular 资源,从而导致 404 错误:
如您所见,它尝试从 localhost:8080/filename 获取 Angular 文件,但我认为它应该是 localhost:8080/myapp/filename(虽然我不确定)。
我尝试将server.servlet.context-path 属性更改为/myapp,但没有效果(我猜它只会影响嵌入式容器)。
我非常感谢任何有关如何解决此问题的建议。
【问题讨论】:
标签: java angular spring spring-boot