Tomcat热部署SpringMVC项目出错

一、问题

项目照常跑,没有什么大的影响,但是在控制台却出现了错误,具体信息如下图所示

二、解决方法

原因分析:很多人已经说的很明白了,这大概是因为项目文件很多,在tomcat重启的时候,之前的tomcat的线程还没有完全关闭,最新启动tomcat就会报这个异常,只要把tomcat的server.xml 中的reloadable="true" 改成false就OK,具体为什么改看下图

Context(表示一个web应用程序,通常为WAR文件,关于WAR的具体信息见servlet规范) docBase 应用程序的路径或者是WAR文件存放的路径
path 表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/****
reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序

为什么会这样?我想是因为Eclipse开启了自动重建的功能吧,效果就是改了java代码不需要重启tomcat,业务逻辑也会生效(亲测),有时候代码量很大的时候机器会卡,请稍等

那么到底关不关闭这个呢?个人认为开发阶段可以开启,知道原因就好,因为毕竟热部署是可以大大提高开发效率的;

猜你喜欢

转载自www.cnblogs.com/wxjnew/p/9183154.html