开源工程热部署

来源:互联网 发布:ubuntu查看显卡状态 编辑:程序博客网 时间:2024/06/06 07:38

开源工程热部署

 

主流使用工具:dcevm,tomcat debug,jetty debug,jrebel,spring loaded , java debug,OSGI


特别提醒:dcevm 安装后会直接修改jdk安装包内容,用了它之后可能会造成其它热部署工具不能使用.

      

java进程的debug:

java -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y  -jar cacheservice-example-1.1.0-SNAPSHOT.one-jar.jar
eclipse设置:run–>Debug Configurations-->RemoteJavaApplication–>右键创建–>选择工程与源码,端口默认8787


mvn jetty debug:

mvnDebug jetty:run eclipse设置:run–>Debug Configurations–>RemoteJavaApplication–>右键创建–>选择工程与源码,端口默认8000

 

jrebel(热部署,annotation,java,xml,properties等都可以动态加载):

  1. 下载jrebel-5.4.2.jar 并重命名成 jrebel.jar 放入E盘,http://maven.ds.gome.com.cn/nexus/index.html#nexus-search;quick~jrebel

    <dependency>
    <groupId>org.zeroturnaround</groupId>
    <artifactId>jrebel-maven-plugin</artifactId>
    <version>1.1.5</version>
    </dependency>

  2. set MAVEN_OPTS=-noverify -javaagent:E:\jrebel.jar -Drebel.dirs=D:\work\quikstart\trunk\quickstart-all\quickstart-web\target\classes,D:\work\quikstart\trunk\quickstart-all\quickstart-business\target\classes
  3. mvn jetty:run  启动后可随意修改annotation,spring 配置,ibatis,java等文件,修改就生效. 特殊情况下不生效,下次重启时,无需要重新打包,会自动加载修改后的class,xml,properties等.

spring-loaded:(与方法二类似,但是功能不太稳定)

1.下载spring-loaded,无需重命名,放在E盘 http://maven.ds.gome.com.cn/nexus/index.html#nexus-search;quick~springloaded 

<dependency>
<groupId>org.springsource</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.1.RELEASE</version>
</dependency>

 

2.set MAVEN_OPTS=-noverify -javaagent:E:\springloaded-1.2.1.RELEASE.jar

3.mvn jetty:run 启动后就可以热修改spring的相关配置


dcevm:

官网下载位置:http://ssw.jku.at/dcevm/binaries/

特别注意事项:jdk1.6 的小版本号26 及以下是不兼容的,也就是jdk1.6_27及以上版本才可以使用.

 

问题整理:

问题1:如何在eclipse建一个快捷方式来运行mvn jetty:run + jrebel

解决1:run–>debug configurations–>maven build–> 右键新建一个–>

step1.面签main填写 goals=jetty:run  , base directory 选择工程源码

step2.JRE面签的vm arguments 加入-noverify -javaagent:E:\jrebel.jar -Drebel.dirs=D:\work\quikstart\trunk\quickstart-all\quickstart-web\target\classes,D:\work\quikstart\trunk\quickstart-all\quickstart-business\target\classes

0 0