java—在部署jar文件后更新spring boot静态资源

pb3skfrl  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(380)

我已经开发了一个带有springboot的restapi。我使用angular作为前端,并将其文件添加到resources/static。一切正常。
我目前以fatjar格式部署我的应用程序。SpringBoot应用程序不经常更改,但我必须每天更改前端。有没有办法将更新的angular文件注入到当前部署的jar文件中?或者我应该改变 Package 战争和使用外部tomcat服务器?

wgxvkvu9

wgxvkvu91#

实际上,您可以使用jar命令更新现有的jar文件: jar uf jar-file input-file(s) 但是,仍然需要重新启动该过程。
我想,你的问题更多的是 hot deployment 或者 hot swapping -如何添加新文件而不停止正在运行的进程。
对于生产环境中带有嵌入式tomcat的spring引导应用程序,仍然需要重新启动它。
因此,实现Angular 前端热部署的最简单方法是拆分jar,提取Angular 应用程序,然后分别部署。
正如您所提到的,您可以使用angular应用程序将war部署到tomcat示例。如果您使用基于linux的机器,我建议将angular应用打包到tar/zip中,并将其解压缩到apachehttpd或nginxweb服务器。
此外,您还可以使用docker compose进行实时重新加载。
在开发环境中,这要容易得多,因为您可以使用ide支持与springboot devtools相结合来实现热交换,springbootdocs对此进行了详细的解释。

相关问题