JRebel不断使用GWT重新加载每个客户端类文件

时间:2013-10-08 12:53:43

标签: gwt intellij-idea jrebel

我们正在考虑从Eclipse切换到IntelliJ IDEA。我们必须使用JRebel,因此每次更改代码行时都不必重新启动应用程序。

每次我在一个.java文件中更改一行代码,并且在该特定文件上调用IntelliJ make进程后,JRebel似乎重新加载了一大堆客户端类。

使用Eclipse时,有时会发生这种残酷的重新加载行为,但在大多数情况下,类重新加载过程要快得多!

我认为我错过了一些东西。 有没有使用IntelliJ和JRebel经验的人知道如何让JRebel插件重新加载一个单独的课程吗?

任何帮助将不胜感激!

  • 注1:我知道超级开发模式可以提供帮助,但我想拥有 JRebel插件首先工作。
  • 注意2:VM arg -Drebel.check_class_hash=true也有帮助,但我不认为该插件是以这种方式工作的。

1 个答案:

答案 0 :(得分:0)

-Drebel.check_class_hash = true是针对这种情况引入的。但是您应该检查的是为什么重新加载客户端类。当类文件的时间戳改变时,JRebel重新加载类,或者,如果设置了-Drebel.check_class_hash = true,它将检查除时间戳之外的哈希。

所以首先要做的是当你创建一个类时,其他类的时间戳,JRebel重新加载,是否会改变?也许IntelliJ的GWT构建在编译期间只触及太多文件?或者也许您可以编译单个类,即实际更改的类。

我有一个假设,如果上述情况不正确,那么你的代码中某处有GWT.create正在改变,而且必须在make期间重新运行,否则你所做的改变就不会不会传播。这只会由make过程触发,而JRebel不会触发自己重新运行GWT.create。这只是一个假设,所以请不要认真对待它。

您也可以尝试联系JRebel支持。