IDEA怎么用Devtools热部署

IDEA怎么用Devtools热部署

大家知道在项目开发过程中,有时候会改动代码逻辑或者修改数据结构,为了能使改动的代码生效,往往需要重启应用查看改变效果,这样会相当耗费时间。

重启应用其实就是重新编译生成新的Class文件,这个文件里记录着和代码等对应的各种信息,然后Class文件被虚拟机的ClassLoader重新加载。

而热部署正是利用了这个特点,它监听到如果有Class文件改动了,就会创建一个新的ClaassLoader进行加载该文件,经过一系列的过程,最终将改动的结果呈现在我们眼前。

1. Adding devtools to your project

在项目Maven配置中增加devtools依赖

xml 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
</dependency>

2. Adding plugin to your pom.xml

在pom.xml中增加spring-boot-maven-plugin插件依赖

xml 复制代码
<!-- 下段配置我们粘贴进聚合父类总工程的pom.xml里-->
 
<build>
    <finalName>你自己的工程名字</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
                <addResources>true</addResources>
            </configuration>
        </plugin>
    </plugins>
</build>

3. Enabling automatic build

在设置中,开启自动编译

4. Update the value of

修改注册表维护中修改下面的配置值

注意:

如果IDEA是2021.2后的版本,则上面的compiler.automake.allow.when.app.running配置在高级设置中:

5. 重启IDEA

重启IDEA后方能生效。

相关推荐
愿得一猪蹄1 分钟前
# Java线程池实战,别再new Thread了
java
ee又momo10 分钟前
# 深入理解Java注解,从使用到自定义
java
霸道流氓气质35 分钟前
AI智能博客平台实战:RAG增强写作、多Agent协作与语义检索的Vue3 + Spring AI全栈实现
java·人工智能·spring
打工仔折腾 AI44 分钟前
LangChain 工具调用实战:从 Tool 定义到 Agent 执行链路拆解
java·前端·人工智能·后端·python·langchain·ai agent 实战
哦虎!44 分钟前
【JavaEE】网络原理 - TCP/IP
java
东风微鸣1 小时前
把 Tailscale 接进 Prometheus 监控
java·数据库·prometheus
看浪的路人1 小时前
第9讲:大模型应用监控与可观测性——OpenTelemetry + Prometheus + Grafana 全链路追踪
java·前端·spring
大侠归来1 小时前
事务能回滚吗?Pipeline 算事务吗?
java·数据库·oracle
2501_915106321 小时前
iOS开发之Xcode常用调试技巧总结
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
蜗牛互联网1 小时前
Python调用Gemini Structured Outputs实现工单路由门禁
java·开发语言·人工智能·python