17

我一直在检查 JRebel。根据他们的网站:

“JRebel 是一个任何 Java 插件,它通过将工作区中所做的更改重新加载到正在运行的 JVM 中来加速基于 JVM 的开发(Java、Scala、Groovy),无需重新启动或重新部署,在您编码时保持应用程序的状态。”

这似乎与我们已经使用 Eclipse、Netbeans 和 IntelliJ 实现的目标相同:我们保存并立即部署我们的更改。JRebel 会给我们带来哪些额外的好处?

有人可以向我解释吗?

4

3 回答 3

17

如果这样配置, IDE(Eclipse、NetBeans 或 IntelliJ)会自动重新部署应用程序,这不是即时的。基本上,只是自动化仍然会导致应用程序的真正重新部署,包括创建新的类加载器和初始化过程中涉及的所有补充内容。

在某些情况下,IDE 结合一些容器可以保留会话状态——如果这对你有用,那就太棒了。如果不是 - 给你 - JRebel 就是答案。

在打包部署的情况下,构建阶段会增加,但使用 JRebel,您只需一次性消除所有这些。

于 2012-09-12T22:40:49.753 回答
6

某些更改无法重新加载,尤其是在更改 jar 文件类而无需重新加载或重新启动服务器(无论您使用什么服务器)时。它会自动更改服务器中已编译的类,并在您的类路径中自动重新加载。

当您在 IDE 中保存和刷新更改时,您基本上是在重建 war 文件并将其重新部署到服务器上。这个过程仍然会变慢,尤其是在重新部署具有多个 jar 文件和 war 文件的大型应用程序并且必须刷新所有类路径时。

于 2012-09-12T21:42:09.767 回答
1

JRebel 不是 IDE 插件。JRebel 预先捆绑了 Eclipse、IntelliJ IDEA、NetBeans 和 JDeveloper 的插件,但是,JRebel 代理被设计为与 IDE 无关,并且可以在 IDE 之外使用。

如果您有疑问 JRebel 是什么,不是什么?这是一个链接,可以提供您正在寻找的所有答案:

JRebel 是什么,不是什么?

这是一个关于 JRebel 的视频:

JRebel 视频

于 2015-04-08T19:54:55.713 回答