1

I am using JRebel + Intellij JRebel IDE Plugin to hot deploy a gradle project.

I have a situation with JRebel where there are certain Java classes that JRebel refuses to allow me to hot-deploy.

Some classes reload fine.

Other classes do not reload at all. (often in the same gradle sub-project as classes that reload OK)

There is no rhyme or reason to why they do not want to reload. The classes are not really anything special. Not insanely long.

We use Guice... but some files that are managed by Guice reload fine while others do not.

It is making JRebel pretty much unusable because you can't trust whether it will hot deploy or not.

I created a custom JRebel plugin for our project hoping it would help but it did not. Because the class itself will not trigger a reload event, the plugin fails to help fix this.

Note the class in question that will not reload is often an implementation of an interface where if I change the implementation, no reload happens. But if I change the interface java class, that will reload fine!

There is something that JRebel in particular does not like about the Java class files.

When I build the files that it won't pick up, you can even see in the IDE and 100% of the time for these files I get:

Cannot reload

Any have any ideas of a way to get this to stop happening?

Nicholas DiPiazza
  • 10,029
  • 11
  • 83
  • 152
  • Send email to support@zeroturnaround.com with trace-level jrebel.log after reproducing the issue. See [the manual](https://manuals.zeroturnaround.com/jrebel/misc/sendinglogs.html) on how to create and find the log file. – Henri Viik Feb 21 '18 at 07:42
  • ok had already done that, just opened this up in case it generates any ideas – Nicholas DiPiazza Feb 21 '18 at 14:24

1 Answers1

1

The class was not in the classloader yet due to lazy loading. Thus the issue.

JRebel can't reload classes not yet in the classloader.

Nicholas DiPiazza
  • 10,029
  • 11
  • 83
  • 152