eclipse修改java热部署免重启tomcat在Host标签下增加Context直接将docBase指定为项目的WebContent路径

为了避免每次修改java文件eclipse都自动重启耗时较长,研究了网上方法,在eclipse+tomcat7本机实践了下可行。

原理:将eclipse工程的WebContent直接作为部署目录,你的修改相当于直接在部署目录里修改,所以不需要发布publish了就可以关闭tomcat自动部署和重启。把class的输入目录放在默认的WebContent/WEB-INF/classes下,修改java的时候eclipse自动将修改后的class进行替换。

效果:非关键类可以即时生效,如果是一些与session有关的类可能会导致错误,以及只加载一次的文件xml可能不会生效,这时手工重启tomcat即可。总的来说在大部分时候还是很方便的,减少了tomcat重启次数,节省了时间,提高了效率。

具体操作:


eclipse下修改tomcat的server.xml,在Host标签下修改Context标签的docBase,直接将docBase指定为项目的WebContent路径,有的项目是WebRoot文件夹,根据自己的项目来。

我的配置:


  
	
	       
	 

docBase就是发布目录

path是你项目名称

reloadable="false" 网上说这个是关闭tomcat自动部署的(tomcat自动部署自后就会自动重启),我们把项目的目录作为部署目录就不需要进行部署了,所以设置为false。


virtualClasspath 这个是加载jar包的路径配置你的lib目录下的jar包:WebContent/WEB-INF/lib/*.jar  。这个据说tomcat6不支持,tomcat7支持。

注意:项目编译的classd的输出目录要在WebContent/WEB-INF/classes ,否则的话找不到class的,web工程的结构就是这样。不在这个目录的要修改下项目的默认输出目录:    

项目右键 -》properties -》Java Build Path -》source -》Default output folder



参考资料:

 http://simon-fish.iteye.com/blog/2102421

 http://blog.csdn.net/girl_pro/article/details/50965845 


http://blog.csdn.net/feilongjian001/article/details/8576392

你可能感兴趣的:(eclipse修改java热部署免重启tomcat在Host标签下增加Context直接将docBase指定为项目的WebContent路径)