也说一说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文件是会自动构建,重载,但页面没效果,应用不需要关闭,页面必须要重新构建下就可以了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库