Java web开发部署效率浅析

在进行java web程序开发过程中,经常遇到这种问题,修改一个java文件(*.java),需要重启web服务器(如tomcat,weblogic等),部署项目。而起/停服务器浪费了大量的时间。在小项目中,也许我们感觉不到。但对于公司的大型项目:如数据中心,生产等系统开发而言,往往起/停需要等待几分钟时间。更浪费时间的是,对于一个类中的方法的调试过程,如果修改多次,需要反复的启停服务器,那么浪费的时间更多。从上可以看出,我们急需一个可快速起/停服务器的工具,来提高我们的开发效率。

1       Javarebel简介

JavaRebel是一个JVM插件(-javaagent),能够即时重载java class更改,因此不需要重新部署一个应用或者重启容器,节约开发者时间。它是一个Java EE和Java 独立应用的常用解决方案。

JavaRebel可以和MyEclipse,tomcat等快速的组装在一起,用语动态部署java文件而不用重启服务器,从而可解决大量的开发时间,提高开发效率。

2       JavaRebel使用介绍

下面以javarebel + MyEclipse,javarebel+tomcat为例,介绍javarebel的在项目开发,部署环境的搭建即使用。

  • Javarebel和MyEclipse开发部署应用

1:下载javarebel插件:http://www.zeroturnaround.com/javarebel/download/目前版本为2.0.将下载后文件解压在任意目录(windows),如:D:\javarebel-2.0.

2:安装myeclipse(安装步骤略),个人使用版本myeclispe5.5.

3:在myeclipse中添加javarebel:打开MyeEclispe->Window->Prefrence窗口,找到设置tomcat位置下JDK设置。如图:

在java VM参数中增加如下代码:

-noverify-javaagent:d:\javarebel-2.0\javarebel.jar

然后点击“OK”按钮即可。

下面看看javarebel在开发过程中的应用(假设myeclipse中设置的tomcat部署文件{tomcat}\conf\Catalina\localhost\<文件名>.xml 中链接的项目已在myeclipse中导入):

启动tomcat完毕后,修改java类文件。然后直接运行程序(不用重启服务器)。在myeclipe控制台会打印下图红色笔记部分信息,此为javarebel自动打印,告诉你被修改的类部署的部署情况。

红色画笔下的打印信息是我修改java类的测试信息。通过上图可以发现javarebel已成功将我修改的类进行了部署。

  • Javarebel和Tomcat开发部署应用

1:下载javarebel(略)。

2:安装tomcat略。个人使用tomcat5.0.19

3:在tomcat中进行javarebel配置:打开{tomcat}\bin\ catalina.bat,找到set JAVA_OPTS处,在“=”右边添加如下代码:

-noverify -javaagent:d:\javarebel-2.0\javarebel.jar

个人设置后结果如下:

set JAVA_OPTS=-noverify -javaagent:d:\javarebel-2.0\javarebel.jar-Xms1024m -Xmx1024m

4:启动tomcat,待启动完毕后,修改tomcat部署描述文件(xml)所链接项目中java文件(将此项目导入eclipse中进行修改),修改完毕后,直接运行程序。则会在tomcat控制台看到如下信息:

javarebel热部署 (转)的更多相关文章

  1. 如何在Eclipse和Tomcat的Debug过程中启用热部署

    参考的地址是 http://blog.redfin.com/devblog/2009/09/how_to_set_up_hot_code_replacement_with_tomcat_and_ecl ...

  2. webpack-dev-server轻量级js高速打包、热部署服务器

    webpack是一个打包web项目的工具 ,可以实现css,js,less,cass,html的混淆加密,minify,结合webpack-dev-server热部署,非常方便前端页面和Nodejs的 ...

  3. 【IDEA 2016】intellij idea tomcat jsp 热部署

    刚开始用IDEA,落伍的我,只是觉得IDEA好看.可以换界面.想法如此的low. 真是不太会用啊,弄好了tomcat.程序启动竟然改动一下就要重启,JSP页面也一样. IDEA可以配置热部署,打开to ...

  4. tomcat热部署

    tomcat默认支持热部署,修改文件会自动加载部署,不需要重启容器 server.xml配置如下所示 autoDeploy=”true” — 自动部署 reloadable=”true” — 自动加载

  5. Idea 实时编译 和 热部署

    实时编译 idea自动保存编写好的文件,但是不会编译,想要编译需要按ctrl+F9(编译整个项目)ctrl+shift+f9(单个文件),不仅麻烦而且和平常习惯也不相复合.怎么令idea的ctrl+s ...

  6. IntelliJ IDEA - 热部署插件JRebel 安装使用教程

    IntelliJ IDEA - JRebel 安装使用教程 JRebel 能做什么? JRebel 是一款热部署插件.当你的 Java-web 项目在 tomcat 中 run/debug 的时候 , ...

  7. IDEA+Tomcat+JRebel热部署1

    所需资源下载: jrebel_6.4.2a  概述 JRebel是一个J2EE热部署的工具.使用它可以减少浪费8-18%的开发时间在项目的构建和部署上.之前只是听说过,一直没有实践,今天实际使用了一把 ...

  8. IDEA+Tomcat+JRebel热部署

    在完成idea工程简单应用后,接下来实现热部署. 简单应用地址:http://wibiline.iteye.com/admin/blogs/2072454 一.安装JRebel插件 1. 在线安装 F ...

  9. spring boot 调试 - 热部署

    maven gradle Maven: 命令行方式: mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport= ...

随机推荐

  1. AVL树详解

    AVL树 参考了:http://www.cppblog.com/cxiaojia/archive/2012/08/20/187776.html 修改了其中的错误,代码实现并亲自验证过. 平衡二叉树(B ...

  2. GCC编译器使用

    一.GCC简介 通常所说的GCC是GUN Compiler Collection的简称,除了编译程序之外,它还含其他相关工具,所以它能把易于人类使用的高级语言编写的源代码构建成计算机能够直接执行的二进 ...

  3. 转 自定义View之onMeasure()

    可以说重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象.再加上onTouchEvent()等重载视图的行为,可以构建任何我们需要的可感知到的自定 ...

  4. CentOS6.5安装mysql5.1.73

    思路: 1.查看有无安装过mysql rpm -qa|grep mysql

  5. python arguments *args and **args ** is for dictionaries, * is for lists or tuples.

    below is a good answer for this question , so I copy on here for some people need it By the way, the ...

  6. 项目管理工具之Git使用说明

    1.下载Git客户端工具 http://msysgit.github.com/ 2.安装msysgit 下一步 同意GNU协议 选择安装位置 选择TrueType  Front,下一步 不创建启动文件 ...

  7. jQuery Form 表单提交插件-----ajaxSubmit() 的应用

    Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 一.ajaxSubmit() 介绍  立即通过AJ ...

  8. textarea文本简单样式编辑

    第一种方法采用替换:就是将文本域的换号符号\r\n,替换成其他符号,存入数据库,然后显示的时候再转换回来: //转换换行符$str=preg_replace("/\r\n|\r|\n/&qu ...

  9. JMS介绍入门大白话版

    以下内容转自: http://setting.iteye.com/blog/1097767 ------------------------------------------------------ ...

  10. Helloworld -SilverN

    /*Hello World*/ #include<iostream> #include<cstdio> #include<cstring> using namesp ...