java重新_java - 重新部署JReb的替代方案

java - 重新部署JReb的替代方案

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

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

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

Jay asked 2019-03-27T20:58:49Z

8个解决方案

89 votes

看看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-dcevm和openjdk-8-jre-dcevm软件包一起安装,并使用java -dcevm进行调用。

Emmanuel Bourg answered 2019-03-27T20:59:18Z

38 votes

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

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

edudant answered 2019-03-27T20:59:49Z

20 votes

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

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

Ramon answered 2019-03-27T21:00:19Z

19 votes

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

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

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

[http://hotswapagent.org/]

tak3shi answered 2019-03-27T21:01:02Z

11 votes

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

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

Rafael Sanches answered 2019-03-27T21:01:32Z

9 votes

我一直在开发一个开源项目,它允许你热插拔超出热交换允许的类:[https://github.com/fakereplace/fakereplace]

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

Stuart Douglas answered 2019-03-27T21:02:04Z

4 votes

你可能想看看这个:

HotSwap支持:Java HotSpot VM的面向对象架构支持高级功能,例如即时类重新定义或“HotSwap”。 此功能提供了通过调试器API替换正在运行的应用程序中的已修改代码的功能。 HotSwap为Java平台调试器体系结构添加了功能,使得在调试器的控制下执行期间可以更新类。 它还允许通过在已插入分析代码的方法版本中进行热交换来执行分析操作。

目前,这只允许重新部署新编译的方法体,而无需重新启动应用程序。 您所要做的就是使用调试器运行它。我在Eclipse中尝试过,它的工作非常出色。

此外,正如Emmanuel Bourg在他的回答(JEP 159)中提到的那样,希望能够支持增加超类型以及添加和删除方法和字段。

参考:Java白皮书135217:可靠性,可用性和可维护性

Alex answered 2019-03-27T21:02:58Z

-4 votes

JRebel是免费的。 不要买它。 选择“购买”页面上的“免费”选项(单选按钮)。 然后选择“社交”。 注册后,您将获得功能齐全的JRebel许可证密钥。 然后,您可以下载JRebel或在IDE嵌入式版本中使用该密钥。 捕获,(是的,有一个捕获),你必须允许他们每月在您的FB时间线或Twitter帐户上发布一次(广告)。 我给了他们我的推特帐户,没有大问题,我从来没有使用它,也没有人知道我真正使用它。 所以节省260美元。

Michael Andrews answered 2019-03-27T21:03:22Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值