事情的起源是,我们一个程序内置了一个REST服务的server(是Jersey的Grizzly),启动后,修改类文件,需要重启服务器才能让修改生效。
这时候,就想到要动态加载类了。
在JAVA的世界里面,类,不是动态加载的,除非你检测class的变化,去写classloader啦 。
当然,世界上还有很多苦逼JAVA程序员碰到这个问题,所以,他们发明了俩工具:
JRebel :http://zeroturnaround.com/software/jrebel/
jreloader: http://code.google.com/p/jreloader/
JRebel是商业软件,也有社区免费版,我解决这个问题用的是jreloader,因为?简单一点吧。
步骤:
1、下载jreloader,解压到某个地方(地址?上面有啦,哥)
2、配置运行的参数,加入jreloader需要的参数
3、运行程序
4、修改类,编译修改的类
这时,我们就看到jreloader起作用啦
最后,有一篇介绍jreloader的问题,你们也看看吧:
http://unmi.cc/jreloader-reload-class