idea重新生成target文件_IDEA效率插件JRebel的使用

本文介绍了如何使用JRebel在IDEA中实现代码修改后的快速生效,避免了频繁的重建和重启过程。同时,对比了JRebel与Devtools在动态加载和应用重启方面的差异,帮助开发者选择合适的工具提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JRebel

使用 JRebel 可以在修改代码后,动态重新加载修改的代码,免去了代码工程全量重建、重启的耗时流程,有效地提高开发者的效率。在 IDEA 的插件市场搜索 JRebel for IntelliJ 找到安装即可。

JRebel for IntelliJ 版本:2019.1.4

1、启用自动部署

此处勾选后,当用 JRebel 启动应用时,会自动勾选 Build, Execution, Deployment -> Compiler -> Build project automatically,否则需要自己手动来选中 Build project automatically ,这个是自动构建工程的选项。

6798cfd9e23196799181c19a6302ac35.png

2、生成 rebel.xml 配置

这个配置文件是 JRebel 为当前项目生成的配置,默认生成指向 .../target/classes 路径的 classpath。

0e3e8890f3f9e6ac849f23bb97df6967.png

3、运行配置

将下面的两个选项框换成 Update classes and resources ,表示会自动更新变更的类和资源。

c1a064fef3c7d71e0a84fbe1f0a13f99.png

4、运行/Debug

想要通过 JRebel 运行程序,下图两个分别是运行和Debug选型,通过他们来运行应用即可。

1a46e14f2c091b1b76579bd0c0e55251.png

5、效果

代码修改完后,鼠标点击 IDEA 窗口外的任意位置,便会触发类重新加载,此时会打印如下的日志,说明重新加载成功了。

18992095c671b4f1bd7df7fa6c1705ef.png

JRebel VS Devtools

Devtools 的简单使用

如果要使用 spring-boot-devtools ,则需要在 Maven 的 pom 文件增加如下依赖。

org.springframework.boot spring-boot-devtools true

spring-boot-devtools 会在类路径上的文件变更时,触发自动重启,而 JRebel 是触发类重新加载,从如下 Devtools 重启的日志也能看出和 JRebel 的一些区别。

95ddc7c766e02704ae6f873270ef4d4f.png

总结

虽然 JRebel 重新加载相比 Devtools 重新启动可能是会更快一些,但是 Devtools 其实也并不慢,它使用了两个类加载器,不会修改的类加载到 Base 类加载器,而正在开发中的类加载到 restart 类加载器。当应用重启时,Devtools 会重启 restart 类加载器,而 Base 类加载器不变,所以相比手工全量重启应用,利用 Devtools 来重启的速度也是很快的。

实际开发中,可以根据需求选择使用 JRebel 还是 Devtools。

原文:https://www.cnblogs.com/bigshark/p/11343541.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值