java.lang.IllegalStateException: 非法访问:此Web应用程序实例已停止。无法加载[]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1378)
at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:1030)
at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.checkThreadContextClassLoader(AbandonedConnectionCleanupThread.java:117)
at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:84)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
理解与解释:
当我重新部署项目的时候,程序会被卸载,但是此时还有些线程还没有关闭,当tomcat已经关闭类加载器后,因为一些线程依然在运行,这个时候由于堆栈跟踪调试的,想试图终止线程,导致非法访问,于是抛出一个异常,但是这个异常对项目功能是没有影响的。
解决方法:
修改tomcat目录下conf文件夹下的server.xml,在Host标签添加子元素找到Context标签,把reloadble的属性值设为:reloadable=“false”。
reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用 ,也就是热部署。 有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发存阶段将reloadable设为false。
非法访问:此Web应用程序实例已停止。无法加载[]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。今天写web工程时,重新部署项目的时候控制台突然出现异常,但是对我的web工程功能好像没什么影响,于是我上网找大神的文章,了解他们如何理解与解决这个问题,下面是报错信息。java.lang.IllegalStateException: 非法访问:此Web应用程序实例已停止。无法加载[]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。 at org.apache.catalina.l
https://blog.csdn.net/qq_42648377/article/details/106356751
bug产生的原因是因为eclipse卡死重启eclipse碰到的问题
解决方法对所有项目进行Run As → maven install 问题解决。
解决方案二
http://www.jeepxie.net/article/408272.html
这个是在关
启动 Tomcat 时,修改代码会出现这个异常
信息: 非法访问:此Web应用程序实例已停止。无法加载[]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。
java.lang.IllegalStateException: 非法访问:此Web应用程序实例已停止。无法加载[]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(Web
java.lang.IllegalStateException: 非法访问:此Web应用程序实例已停止。无法加载[]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪
原因:zaitomcat重启的时候,tomcat之前的线程没有完全关闭,新启动的tomcat就会包这个异常
解决办法:
在tomcat的cof的server.xml文件中,加入
关闭tomcat时,报无法加载类的错误。
非法访问:此Web应用程序实例已停止。无法加载[io.netty.util.concurrent.DefaultPromise$1]java.lang.NoClassDefFoundError
1.2 线程关闭
导致无法加载加载的原因就是tomcat已经关闭了类加载器,但是部分线程还在运行。
简单理解就是tomcat关闭的线程和用户其他线程没有串行执行。
把springboot+netty项目发布到外置tomcat,netty的关