作为一名Java开发者您是否会遇到这种情况:新增一个方法或字段必须重启tomcat才能对其进行调试? 有没有办法使得不重启tomcat就能调试呢.spring-loaded就可以.
spring-loaded是一个开源项目,项目地址:https://github.com/spring-projects/spring-loaded 且看下面这一段话: Spring Loaded allows you to add/modify/delete methods/fields/constructors. The annotations on types/methods/fields/constructors can also be modified and it is possible to add/remove/change values in enum types. 意思是它允许你动态得新增/修改/删除某个方法/字段/构造方法,同样可以修改作用在类/方法/字段/构造方法上的注解.也可以新增/删除/改变枚举中的值.
线上模式使用原理跟开发模式一样
- 把springloaded-1.2.5.RELEASE.jar放到tomcat的bin文件夹下
- 打开bin下的catalina.bat,添加如下一句 set JAVA_OPTS=-javaagent:springloaded-1.2.5.RELEASE.jar -noverify 这样就完成了spring-loaded的安装,能够检测tomcat下部署的webapp,在不重启tomcat的情况下,实现应用的热部署。