无法在jrebel中重新加载某些类

时间:2018-02-21 03:13:02

标签: jrebel

我正在使用JRebel + Intellij JRebel IDE插件来热部署gradle项目。

我遇到JRebel的情况,JRebel拒绝让某些Java类进行热部署。

有些课程重新加载。

其他课程根本不重新加载。 (通常在与重新加载的类相同的gradle子项目中)

为什么他们不想重装,没有押韵或理由。这些课程并不特别。不是很疯狂。

我们使用Guice ...但是一些由Guice管理的文件重新加载,而其他文件没有。

它使JRebel几乎无法使用,因为你不能相信它是否会热部署。

我为我们的项目创建了一个自定义JRebel插件,希望它有所帮助,但事实并非如此。因为类本身不会触发重载事件,所以插件无法帮助解决此问题。

请注意,不会重新加载的类通常是接口的实现,如果我更改实现,则不会发生重新加载。但是,如果我更改接口java类,那将重新加载!

JRebel尤其不喜欢Java类文件。

当我构建它不会拾取的文件时,您甚至可以在IDE中看到这些文件的100%时间:

Cannot reload

有任何想法可以让这种情况停止发生吗?

1 个答案:

答案 0 :(得分:1)

由于延迟加载,该类还没有在类加载器中。因此问题。

JRebel无法重新加载类加载器中尚未安装的类。