jrebel debug 怎么设置java_opts_在项目中使用Spring boot开发工具与热部署Jrebel

954ec2db8a3b40eaa8ba767ed7491cac

前言

在我们的项目开发过程,随着开发的功能越来越多,项目越做越大,代码也越来越多,单个项目启动可能都要几分钟。假如你编码能力非常强,一次编码,一次测试通过,不用重启多次项目,但事实这是不存在,每次开发每次调试每次debug你可能都要重复启动N多次你的项目。启动几次几分钟,一天下来可能我们都在启动我们的项目,这种效率实在糟糕透了,有没有工具将我们改过的代码自动编译好放进虚拟机替换呢。这种工具是有的,Spring boot官方提供给我们devtools工具以便我们便捷开发。这一类自动重启热部署工具都是基于类加载机制来实现的。

devtools开发者工具

Spring boot包含了一套额外的工具,可以让应用程序开发更加快捷。spring-boot-devtools 模块可以引入到任何项目,它可以让我们开发Spring boot应用更加方便快捷。为了得到 devtools工具支持。你需要将其引入到你的工程构建中来,在Maven 的 pom 文件添加

org.springframework.boot spring-boot-devtools true

当运行完全打包的应用程序时(以jar包运行的),将自动禁用开发人员工具。就是说,这个工具只是在我们IDE工具中开发有用的,完全不用担心会影响到生产环境。

spring-boot-devtools 在Maven中将依赖项标记为可选,这是防止将devtools过渡应用到使用项目的其他模块。

devtools自动重启

使用spring-boot-devtools每当类路径上的文件发生更改时,都会自动重新启动。在IDE中工作时,这可能是一个有用的特性,因为它为代码更改提供了一个非常快速的反馈循环。默认情况下,指向文件夹的类路径上的任何条目都会被监视更改。注意,某些资源,如静态资产和视图模板,不需要重新启动应用程序。

触发重新启动

在DevTools监视类路径资源时,触发重新启动的唯一方法是更新类路径。导致类路径更新的方式取决于您正在使用的IDE。在Eclipse中,保存修改后的文件将导致类路径被更新并触发重新启动。在IntelliJ IDEA中,构建项目(Build -> Build Project)具有相同的效果。

当你看到上面的自动重启估计你已经不想在看devtool 的相关内容了,这对于我们的开发人员来说显得过于鸡肋。既然是整个系统自动重启,那对于我们开发者来说没产生多大便利,我们往往需要的是当我们修改一个文件时,有工具将我们修改的文件重新编译然后加载到正在运行的JVM中,这会很快捷。接下来我们着重介绍第三方的热部署工具。

Jrebel 热部署

这个是Jrebel,现在是收费了,记得多年前使用的时候是收费的。当然付费对我们来讲是不可能的,接下来教大家怎么免费的使用Jrebel。

官网地址:https://jrebel.com/software/jrebel/

我这里使用的是intell Idea 工具,有其他工具需要的我再另外做说明

安装Jrebel

  1. 在IDEA中一次点击 File->Settings->Plugins->Brows Repositories
  2. 在搜索框中输入JRebel进行搜索
  3. 找到JRebel for intellij
  4. install
  5. 安装好之后需要restart IDEA
00b33feae47c4407b61f7bab5186b38f

安装完成后会出现下面这两个启动图标,Jrebel插件安装成功

faad120900324daea2830770d947cbc4

激活Jrebel(自建JRebel License Server)

安装 JDK,并设置环境变量,版本至少为 1.6

安装 MAVEN

将 JRebel License Server 项目克隆到本地,或下载 zip

项目地址:https://gitee.com/gsls200808/JrebelLicenseServerforJava

git clone https://gitee.com/gsls200808/JrebelLicenseServerforJava.git

在项目的根路径下用mvn命令编译打包

mvn cleanmvn compilemvn package

运行项目

java -jar JrebelBrainsLicenseServerforJava-1.0-SNAPSHOT-jar-with-dependencies.jar -p 8081

运行完之后 访问 127.0.0.1:8081 出现下图即为成功

3a413cfa80564954bd9525c90d7c9931

为了完成激活我们还需要生成一个GUID 可通过下面链接进行生成

https://www.guidgen.com/

拼上生成的GUID整个激活地址为

http://127.0.0.1:8081/13bae89c-99b0-452b-8725-936f7057bf93

打开Setting-> Jrebel -> Active License,如图(邮箱随意)

e6bad83f888847e79e0608384eea4c4b

激活成功入下图

7d898c5a03e94625a49f4b6444c2d12b

接下来还需要对我们的intelij Idea 做一些设置

  1. setting -> Build, Execution, Deployment -> Compiler 勾上Build project automatically
  2. setting -> Appearance & Behavior ->System Settings 勾上 Save files automatically if application is idle for. 一般后面的框设置为 10s
  3. 打开运行时编译,按快捷键 Shift+Ctrl+Alt+/ ,选择 Registry ,勾上如图所示
3b9780ba98dd431089ee10107d340552

基于以上步骤,所以的设置完成,你只需要用下图的两个按钮运行你的项目即可使用

Jrebel 的热部署加载

2f59249264c94acebd08eae6533958f1

其实热部署加载的本质就是 将修改的类重新编译 丢到JVM里面替换旧的class文件,也是基于Java 的类加载机制来实现的,当我们在Intelij idea 做完修改之后,按 ctrl+F9 即可自动重新加载,注意,Jrebel不是重启,是自动加载热部署。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值