一、问题
项目照常跑,没有什么大的影响,但是在控制台却出现了错误,具体信息如下图所示
二、解决方法
原因分析:很多人已经说的很明白了,这大概是因为项目文件很多,在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,业务逻辑也会生效(亲测),有时候代码量很大的时候机器会卡,请稍等
那么到底关不关闭这个呢?个人认为开发阶段可以开启,知道原因就好,因为毕竟热部署是可以大大提高开发效率的;