Java 部署JAR文件后更新spring引导静态资源
我已经用Spring Boot开发了一个RESTAPI。我使用Angular作为前端,并将其文件添加到resources/static。一切正常Java 部署JAR文件后更新spring引导静态资源,java,spring-boot,continuous-integration,Java,Spring Boot,Continuous Integration,我已经用Spring Boot开发了一个RESTAPI。我使用Angular作为前端,并将其文件添加到resources/static。一切正常 我目前以fat JAR格式部署我的应用程序。spring boot应用程序不经常更改,但我必须每天更改前端。有没有办法将更新后的angular文件注入到当前部署的JAR文件中?或者我应该将打包更改为WAR并使用外部tomcat服务器?确切地说,是的,您可以使用以下命令更新现有的jar文件: jar-uf-jar文件输入文件 但是,您仍然需要重新启动流程
我目前以fat JAR格式部署我的应用程序。spring boot应用程序不经常更改,但我必须每天更改前端。有没有办法将更新后的angular文件注入到当前部署的JAR文件中?或者我应该将打包更改为WAR并使用外部tomcat服务器?确切地说,是的,您可以使用以下命令更新现有的jar文件:
jar-uf-jar文件输入文件
但是,您仍然需要重新启动流程
我想,您的问题更多的是关于热部署
或热交换
——如何在不停止运行进程的情况下添加新文件
对于生产环境中带有嵌入式Tomcat的spring引导应用程序,您仍然需要重新启动它
因此,实现angular前端热部署的最简单方法是拆分jar,提取angular应用程序,然后单独部署
正如您所提到的,您可以将带有angular应用程序的war部署到Tomcat实例。如果您使用基于Linux的机器,我建议将angular应用程序打包到tar/zip中,并将其解压缩到ApacheHTTPD或NginxWeb服务器
此外,您还可以使用docker compose for
对于开发环境,这要容易得多,因为您可以利用IDE支持与spring boot开发工具相结合来实现热交换,详见。拆分angular和rest服务器需要两个单独的web服务器?这取决于具体情况。您可以将您的环境规划为:一个Tomcat实例来部署角战和REST战。在这种情况下,您需要将带有嵌入式Tomcat for REST服务的jar更改为可部署的war。但是,您也可以使用两台服务器。例如,您可以将嵌入式Tomcat保存在REST jar中,并将angular应用程序部署到不同的服务器(Tomcat或web服务器)。