重新部署JRebel的替代方案

Jay*_*Jay 185 java hotswap jrebel

JRebel允许重新部署新编译的代码,而无需重新启动应用程序.我想知道是否有其他选择(免费?).在 FAQ页面回答了这个问题,但我相信它是对JRebel的偏见.这个问题是在一年前在这个网站上被问到的,但是我把它重新提起来看看是否有人有任何新的信息.

另外,我非常喜欢JRebel,但如果有免费替代品,我愿意尝试.

还有一点需要注意,我正在开发一个开源项目,他们向能证明自己是开源项目的人提供免费的一年许可.这对我很有用(www.kuali.org),但我永远不会参与那个项​​目.

Emm*_*urg 94

看看DCEVM,它是对HotSpot VM的修改,允许在运行时无限制地重新定义类.您可以添加/删除字段和方法,并在运行时更改类的超类型.作为JEP 159的一部分,DCEVM的功能可能会集成在Java的未来更新中.

该站点上可用的二进制文件仅限于Java 6u25和Java 7的早期版本.该项目已在Github上分叉并支持最新版本的Java 7和8.维护者在Windows/Linux上为32/64位VM提供二进制文件.从Debian 7(Wheezy)和Ubuntu 15.04开始,DCEVM可以与openjdk-7-jre-dcevmopenjdk-8-jre-dcevm软件包一起安装,并使用java -dcevm.

  • 它运行正常,我发现它比JRebel更快,内存消耗更少.唯一的限制是坚持使用Java 6u25. (5认同)
  • 在这里找到了一些完整的JVM 1.7二进制文件:http://dcevm.nentjes.com/所以不需要修补你的JVM.我尝试了win64,它对我很有用.如果您需要更多详细信息,我也在这里写博客:http://javainformed.blogspot.com/2014/01/jrebel-free-alternative.html (5认同)
  • 以下是JDK 7u45和MacOSX上DCEVM的完整版本和安装说明:http://neu242.livejournal.com/52962.html (4认同)
  • 非常感谢你.我整天都试图让jRebel按照自己的意愿工作.DCEVM来救援. (3认同)

edu*_*ant 40

Hotswap AgentDCEVM的扩展,它支持许多Java框架(重新加载Spring bean定义,Hibernate实体映射,记录器级别设置......).

还有很多文档如何为Java 1.7设置DCEVM和已编译的二进制文件.

  • 他们现在有一个专门的网站:http://www.hotswapagent.org.该项目很新,但似乎运作良好. (5认同)

Ram*_*mon 20

由Spring人员,用于Grails重新加载,但也使用Java:

https://github.com/SpringSource/spring-loaded

  • 我不想发牢骚但弹簧加载不支持依赖重装. (3认同)

tak*_*shi 20

DCEVM支持增强的类重新定义,可用于当前的JDK7和JDK8.

https://github.com/dcevm/dcevm/releases

HotswapAgent是一个免费的JRebel替代品,支持各种框架中的DCEVM.

http://hotswapagent.org/


Raf*_*hes 11

我写了一篇关于DCEVM的文章:Spring-mvc + Velocity + DCEVM

我认为这是值得的,因为我的环境运行没有任何问题.

  • 链接不再有效 (8认同)

Stu*_*las 9

我一直在开发一个开源项目,它允许你在热交换允许的范围内热替换类:https://github.com/fakereplace/fakereplace

它可能适用于您,也可能不适合您,但任何反馈都表示赞赏