java.lang.IllegalStateException: Illegal access: this web application instance has been stopped

信息:java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [com.alibaba.druid.proxy.DruidDriver]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1327)
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1313)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1196)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)

    at java.sql.DriverManager.isDriverAllowed(Unknown Source)


非法访问:此Web应用程序实例已停止了。无法加载java.net.BindException。最终是由下面的堆栈跟踪调试目的,以及试图终止线程从而导致非法访问抛出一个错误造成的,并没有功能的影响。

这个是在关闭应用服务器或重新部署装载项目失败会发生。当应用程序卸载时,并不会关闭所有的线程。当tomcat已经关闭了其类加载器后,一些线程依然会继续运行,这样就导致出错,这些错误就会被到日志文件里。 
解决方法是:修改tomcat目录下conf文件夹下的server.xml,
 标签添加子元素找到标签,把reloadble的属性值设为:reloadable="false"。

reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用 ,也就是热部署 有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发存阶段将reloadable设为false。

你可能感兴趣的:(学习,instance,access,调试)