Tomcat热部署SpringMVC项目出错

本文分析了Tomcat重启时出现的异常原因,并提供了解决方案。通过调整server.xml配置文件中的reloadable属性,解决了因旧线程未完全关闭导致的新线程启动异常问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题

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

二、解决方法

原因分析:很多人已经说的很明白了,这大概是因为项目文件很多,在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,业务逻辑也会生效(亲测),有时候代码量很大的时候机器会卡,请稍等

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值