首页 > 其他 > 详细

IntelliJ IDEA 14 利用JRebel实现热部署

时间:2015-12-03 23:13:45      阅读:495      评论:0      收藏:0      [点我收藏+]

特别鸣谢:http://wlb.wlb.blog.163.com/blog/static/467413201522095132658/

©IntelliJ IDEA开源社①群 185441009

鸣谢:http://www.hankcs.com/program/java/intellij-idea-configuration-of-jrebel-automatic-hot-deployment.html

http://truemylife.iteye.com/blog/1140921

----------------------------------------------------------------------------------------------------------------

说明:IntelliJ IDEA的版本:ideaIU-14.1.5

JRebel版本:jr-ide-idea-6.0.2

 

前言:1.在Java的开发过程中,每次写完代码,都要“编译->发布->启动->查看启动结果->刷新浏览器”,会耗费一定的时间,而且影响心情,而运用JRebel的热部署可解决此问题。使用IntelliJ IDEA+JRebel热部署,不仅在修改java代码上十分方便,且在修改js代码、HTML代码上更是可以算上即时刷新。2.本博客第一次采用“特别鸣谢”中的方法在配置JRebel的过程中可能是因为破解JRebel失败而没有成功,第二次采用©IntelliJ IDEA开源社①群中的破解方法配置成功,所以建议读者直接按本博客方法进行配置,不用下载破解版。(当然你也可以按照鸣谢网址中的方法进行尝试。)

步骤:

一、下载JRebel插件

地址:http://download.csdn.net/detail/ablipan/8397321

说明:下载后为zip文件,不用解压,待会儿安装直接可以用zip格式安装。

二、安装JRebel插件

(这个过程的第1步是照搬“特别鸣谢”中网址的方法进行的,第2步是©IntelliJ IDEA开源社①群中的方法。)

1.File->Settings->Plugins->Install plugin from disk...->Apply->Restart,这样Jrebel插件就装好了。如下图所示:

技术分享

技术分享

技术分享

2.激活Jrebel。重启IntelliJ IDEA后,按照以下的图示方法:

技术分享

说明:上图中右边的框中的信息写在这里,以免看不清:

http://idea.lanyus.com/ilanyu

langyu199950316@gmail.com

出现了上图中的Offline Mode is:ACTIVE(36499 days and 23 hours left) 信息表明已经激活成功了。此外,配置成功后会在IntelliJ IDEA出现以下提示:

技术分享

三、测试

1.java代码修改测试。修改发布项目的Tomcat的配置,具体修改处见以下图示。

技术分享

技术分享

2.通过JRebel启动Tomcat

技术分享

这是运行后的界面:

技术分享

3.修改java代码:

原java代码:

技术分享

修改后的代码:

技术分享

可以看到在修改java代码后,只要点击项目发布的浏览器,JRebel会自动地进行编译。IntelliJ IDEA的底部会显示JRebel自动编译java的信息:

技术分享

当然,你也可以点击下面的Deploy All按钮进行手工编译。

技术分享

点击“提交”后运行结果:

技术分享

4.js代码测试

原js代码:

技术分享

修改后:

技术分享

刷新页面:

技术分享

后记:通过热部署,可以明显地体会到修改代码后开发人员什么都不用做JRebel就可以自动地对项目进行快捷地编译。

 

附:

Jrebel官方对热布署支持的场景列表(查看官网说明http://www.zeroturnaround.com/jrebel/features/

 

Java EE Support

Jrebel

JVM Hot Swap

Time to reload

< 1s

< 1s

No memory leak

YES

YES

 

Changes to method bodies

YES

YES

Adding/removing Methods

YES

NO

Adding/removing constructors

YES

NO

Adding/removing fields

YES

NO

Adding/removing classes

YES

NO

Adding/removing annotations

YES

NO

Changing static field value

YES JRebel 3.0+

NO

Adding/removing enum values

YES JRebel 3.0+

NO

Changing interfaces

YES

NO

Replacing superclass

NO

NO

Adding/removing implemented interfaces

NO

NO

 

Skip builds for WAR directories

YES

YES

Skip builds for .WAR/.EAR class updates

YES

YES

Skip builds for .WAR/.EAR resource updates

YES

NO

Map multiple source dirs to one .WAR/.EAR target dir

YES

NO

Map classes and resources with include/exclude patterns

YES

NO

Map multiple source dirs with Ant-style patterns

YES

NO

Use system properties to make mapping machine-independent

YES

NO

Maven plugin

YES

NO

JSP EL changes

YES

NO

JSP Scriptlet changes

YES Enterprise Add-on

NO

EJB 1.x session bean interface changes

YES Enterprise Add-on

NO

EJB 2.x session bean interface changes

YES Enterprise Add-on

NO

EJB 3.x session bean interface changes

YES JRebel 3.0+

NO

JSF changes (Mojarra)

YES JRebel 3.0+

NO

JPA changes (Hibernate, EclipseLink, TopLink, OpenJPA)

YES JRebel 3.0+

NO

CDI changes (Weld)

YES JRebel 3.0+

NO

ResourceBundle

YES

NO

Spring Framework 2.x or later

YES

NO

Hibernate

YES JRebel 3.0+

NO

JBoss Seam 2.x or later

YES JRebel 3.0+

NO

Google Guice

YES

NO

Stripes 1.x or later

YES

NO

Apache log4j 1.2.x or later

YES

NO

Apache Struts 1.x

YES

NO

Apache Struts 2.x or later

YES

NO

Apache Tapestry4

YES

NO

Apache Velocity

YES

NO

Apache Wicket

YES

NO

CgLib

YES JRebel 3.0+

NO

Javassist

YES JRebel 3.0+

NO

Atlassian Confluence plugins

YES

NO

ClassWorlds

YES Beta

NO

Apache Felix

YES Beta

NO

Eclipse Equinox

YES Beta

NO

IntelliJ IDEA 7.x, 8.x plugins

YES Beta

NO

NetBeans plugins

YES Beta

NO

 

 

Jrebel对第三方框架支持对应表

查看官网http://www.zeroturnaround.com/jrebel/features/frameworks/

 

IntelliJ IDEA 14 利用JRebel实现热部署

原文:http://www.cnblogs.com/wql025/p/5017823.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!