热部署简易替换方案spring-loaded

以下内容以web项目为例,实现热部署。
主要使用到的spring-loaded开源项目,maven地址: http://mvnrepository.com/artifact/org.springframework/springloaded,建议下载jar包。
springloaded简介
Spring Loaded是一个JVM代理,用于在JVM运行时重新加载类文件。与’热代码替换’不同的是,一旦JVM运行(例如对方法体进行更改),只允许进行简单的更改,Spring Loaded允许允许你动态得新增/修改/删除某个方法/字段/构造方法,同样可以修改作用在类/方法/字段/构造方法上的注解,也可以新增/删除/改变枚举中的值。
maven篇(优先使用)
使用方式
下载jar包,然后项目右键-Run/Debug As-Run/Debug Configurations-JRE-VM arguments配置中添加:-javaagent:path/to/your/springloaded-1.2.8.RELEASE.jar -noverify(记得修改路径与版本)。然后正常tomcat7:run即可。

springloaded与jrebel部分功能点对比
热部署简易替换方案spring-loaded_第1张图片
非maven篇
下面的两个方法在我看来更像是热代码替换而非热部署,所以不推荐使用
idea tomcat篇
配置tomcat的项目时使用war explored而非war包
修改On ‘Update’ action和On frame deactivation选项为Update classes and resources。必须debug运行。由于idea代码默认会自动保存,需要使用ctrl+shift+F9(默认快捷键)强制保存来进行 代码替换。

eclipse tomcat篇
选择某个server右键-open(或者双击),publishing选项勾选Automatically publish when resources change,运行之后,每次修改代码build一下或者勾选porject-Bulid Automatically每次修改代码后保存一下,就可以进行代码上的替换。

你可能感兴趣的:(Java学习收获,java)