tomcat报错:org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already.

tomcat报错:org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. 

关于一个HTTP头验证出错的问题:

org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. Could not load [META-INF/services/javax.xml.stream.XMLInputFactory]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [META-INF/services/javax.xml.stream.XMLInputFactory]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.

意思是:

org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading非法访问:此web应用程序实例已停止。无法加载[META-INF/services/javax.xml.stream.XMLInputFactory]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。

java.lang.IllegalStateException:非法访问:此web应用程序实例已停止。无法加载[META-INF/services/javax.xml.stream.XMLInputFactory]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。

此处产生问题的原因是:一个tomcat启动了两个进程。

为什么会产生两个进程呢? 在网上找了一大堆资料后,大致说法如下:

1、sh shutdown.sh
不能完全杀死tomcat或者是不能立马杀死tomcat
2、tomcat的con/server.xml中的context属性reloadable默认为true导致。

由于windows环境下,Tomcat被占用是会自动弹窗报错的,此时若关掉窗口在重启tomcat是可以再运行项目的,但由此就会引发这个一个tomcat开两个进程的问题,进而导致URL出错等问题。

解决方法是:关掉占用端口的进程即可。

 

posted @ 2020-03-30 18:37  整合侠  阅读(11184)  评论(0编辑  收藏  举报