也说一说IDEA热部署Web项目最终解决方案,确实大大提高工作效率

Posted 程序员兔哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了也说一说IDEA热部署Web项目最终解决方案,确实大大提高工作效率相关的知识,希望对你有一定的参考价值。

热部署就是正在运行状态的应用,修改了它的源码之后,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效。热部署为了解决的问题有两个:

1、在开发的时候,修改代码后不需要重启应用就能看到效果,大大提升开发效率;

2、生产上运行的程序,可以在不停止运行的情况下进行升级,不影响用户使用。

此解决方案:主要是基于Spring Boot 构建的项目

1、添加依赖

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-devtools</artifactId>
 <optional>true</optional>
</dependency>

2、添加插件:注意如果提示fork在此处不应存在的提示。建议指定spring-boot-maven-plugin版本,版本跟你项目采用的springboot版本一致,建议一般放在父项目中即可。

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>2.3.12.RELEASE</version>
				<configuration>
					<fork>true</fork>
					<addResources>true</addResources>
				</configuration>
			</plugin>

3、yml文件或属性文件中配置,开启热部署

#开发环境时修改静态资源没必要重启,可以在此设定目录多个间用,号隔开
spring.devtools.restart.enabled=true
spring.devtools.restart.additional-paths=src/main/java
spring.devtools.restart.exclude=static/**,public/**,db/**,i18n/**,templates/**

4、配置IDEA

5、注意如果项目采用的是thymeleaf,则需要关闭缓存:

spring.thymeleaf.cache=false

6、但实践证明,修改java文件是会自动构建,重载,但页面没效果,应用不需要关闭,页面必须要重新构建下就可以了。

以上是关于也说一说IDEA热部署Web项目最终解决方案,确实大大提高工作效率的主要内容,如果未能解决你的问题,请参考以下文章

IDEA web项目本地热部署

IDEA web项目本地热部署

如何在idea中设置tomcat热部署

新版IDEA2021 Java热部署配置

SpringBoot+gradle+idea实现热部署和热加载

Idea如何实现SpringBoot外置Tomcat的Web项目热部署?案例详解