Chinaunix首页 | 论坛 | 博客
  • 博客访问: 277664
  • 博文数量: 76
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 202
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-25 12:05
文章分类

全部博文(76)

文章存档

2016年(7)

2015年(2)

2014年(67)

我的朋友

分类: Java

2014-06-13 20:24:16

原文地址:java web热部署 作者:xdzbb

开发和测试阶段
在myeclipse ----tomcat---jdk---java vm 添加以下代码

-noverify

-javaagent:D:\soft\jrebel\jrebel.jar-------jrebel.jar 所在目录
-Drebel.dirs=F:\test\webapp\WEB-INF\classes--------项目classes所在目录
-Drebel.spring_plugin=true 
-Drebel.struts2-plugin=true

-Drebel.struts1-plugin=true

-Drebel.hibernate_plugin=true

-Xmx512M -Xms512M -XX:MaxPermSize=1024m

再启动tomcat的时,看到jrebel的打印信息就成功了。


或者再tomcat的bin/目录下的catalina.sh

echo "Using CATALINA_BASE:   $CATALINA_BASE"

 echo "Using CATALINA_HOME:   $CATALINA_HOME"

 echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"

的上面添加 。如下

JAVA_OPTS="$JAVA_OPTS -noverify -javaagent:/home/httpd3/program/jrebel/jrebel.jar \

                        -Drebel.dirs=/home/httpd3/program/Believeus/ant-build/classes \

                        -Drebel.spring_plugin=true \

                        -Drebel.struts2-plugin=true \

                        -Drebel.struts1-plugin=true"

echo "Using CATALINA_BASE:   $CATALINA_BASE"

 echo "Using CATALINA_HOME:   $CATALINA_HOME"

 echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"


经过测试 修改jsp ,java文件,新增加java文件,新增包(如果不是一个域名下的包不会热部署)

例如cn.believeus.xxxx 新建java文件在cn.believeus 开头的包下会热部署,如果新建java文件在

cn.baidu.xxx下就不会热部署。

配置文件,XML 和动态代理不会热部署
部署发布阶段
在tomcat的bin/目录下的catalina.sh
echo "Using CATALINA_BASE:   $CATALINA_BASE"
 echo "Using CATALINA_HOME:   $CATALINA_HOME"
 echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
的上面添加 。如下
JAVA_OPTS="$JAVA_OPTS -noverify -javaagent:/home/httpd3/program/jrebel/jrebel.jar \
                        -Drebel.dirs=/home/httpd3/program/Believeus/ant-build/classes \
                        -Drebel.spring_plugin=true \
                        -Drebel.struts2-plugin=true \
                        -Drebel.struts1-plugin=true"
这样就可以自动部署classes文件了
然后在ant添加命令,将jsp文件夹也拷贝到tomcat对应的webapps下面,这样jsp也可以热部署了。
解决热部署与一般部署同时进行导致系统cpu100%的问题
catalina.sh里面添加
JAVA_OPTS="$JAVA_OPTS -noverify -javaagent:/home/httpd3/program/jrebel/jrebel.jar "
项目src目录下添加rebel.xml文件,//借鉴jrebel官网

  xmlns:xsi=""
  xmlns=""
  xsi:schemaLocation="/alderaan/rebel-2_0.xsd">
 
 
   

  
 
 
   
   
     
      
 

这样很好的避免了热部署与ant deploy之间的冲突。

阅读(1821) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~