Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 部署JAR文件后更新spring引导静态资源_Java_Spring Boot_Continuous Integration - Fatal编程技术网

Java 部署JAR文件后更新spring引导静态资源

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文件输入文件 但是,您仍然需要重新启动流程

我已经用Spring Boot开发了一个RESTAPI。我使用Angular作为前端,并将其文件添加到resources/static。一切正常


我目前以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服务器)。