jrebel 启动失败的处理

jrebel 启动失败的处理

今天使用 jrebel 启动项目的时候,突然啥日志都没有,只有一句Disconnected from the target VM, address: '127.0.0.1:60229', transport: 'socket'
很是莫名其妙。这个时候启动其他项目居然是可以的,说明不是插件的原因,应该是项目问题。

而另一个同学说,他可以启动。我...,难道我是天选之子么,一定是有原因的。

于是重新拉项目,启动,一气呵成,居然成功了。哎,不是我电脑的原因。

接下来就是清理项目中各种垃圾文件(没有提交到git的文件),发现还是不能成功。

没有办法,啥日志都没有,jrebel 应该有自己的日志文件啊,于是去插件配置里找:在 Advanced 菜单下,有jrebel 日志路径,也可以直接点击show Log即可。

1. 查看日志

jrebel.log文件里没有报错日志,只有最后一行有一个这个:topmost class in hierarchy is not instrumented class java.nio.file.attribute.FileTime loaded with: null.

在项目里面查找,这个类是 jdk 自带的,应该不会加载不到啊。

2. 修改 jre

加上之前在百度上搜索的,可以修改一下debug configuration里的JRE为自己下载的 jre,而不使用默认的。

修改之后就可以启动了。。。

而更奇怪的是,我把 jre 切换到原来的 default,居然又可以启动成功了。。。

好吧,我投降了。以后没有其他错误的莫名情况,可以试试这个切换一下。

3. 20201027更新

发现按照上面的处理完之后,还是启动是失败,于是继续探索。

发现每次失败之后,idea 的 event Log里都会有 Failed to retrieve application JMX service URL,
查看springboot 的运行configuration之后发现了如下选项被选中:

把他取消之后,event Log的提示没有了,系统也可以正常启动。这解决了我大部分的问题。

原文地址:https://www.cnblogs.com/paxing/p/13163104.html