Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [org.jboss.netty.util.internal.ByteBufferUtil]. 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.checkStateForClassLoading(WebappClassLoaderBase.java:1319) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1176) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1137) ... 8 more Caused by: java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.jboss.netty.util.internal.ByteBufferUtil]. 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:1329) at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1317) ... 10 more java.lang.NoClassDefFoundError: org/jboss/netty/util/internal/ByteBufferUtil at org.jboss.netty.channel.socket.nio.SocketSendBufferPool.releaseExternalResources(SocketSendBufferPool.java:380) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:91) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) 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) Exception in thread "NettyServerWorker-thread-3" java.lang.NoClassDefFoundError: org/jboss/netty/util/internal/ByteBufferUtil at org.jboss.netty.channel.socket.nio.SocketSendBufferPool.releaseExternalResources(SocketSendBufferPool.java:380) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:91) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) 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) Exception in thread "NettyServerWorker-thread-4" java.lang.NoClassDefFoundError: org/jboss/netty/util/internal/ByteBufferUtil at org.jboss.netty.channel.socket.nio.SocketSendBufferPool.releaseExternalResources(SocketSendBufferPool.java:380) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:91) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) 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) Exception in thread "NettyServerWorker-thread-5" java.lang.NoClassDefFoundError: org/jboss/netty/util/internal/ByteBufferUtil at org.jboss.netty.channel.socket.nio.SocketSendBufferPool.releaseExternalResources(SocketSendBufferPool.java:380) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:91) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) 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) Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "RMI TCP Connection(3)-127.0.0.1-EventThread"
这个异常主要是在关闭tomcat的时候进行出现的一个异常.
翻译:非法访问:这个web应用程序实例已经被停止了。无法加载[org.jboss.netty.util.internal.ByteBufferUtil]。为了调试目的,抛出了下面的堆栈跟踪,并尝试终止导致非法访问的线程。
在使用tomcat启动项目运行时,总是会出现这个错误,碎舞不影响项目运行但是看着还是不舒服,一大堆错误提示.
原因:我遇到的这个是在tomcat关闭的时候,因为之前的tomcat中的线程还没有完全关闭,新启动的tomcat就会报这个异常,不过并不影响使用,只是跳出来这个异常挺烦人的,但是只能忍着,我也从网上百度了几种方法,但是并不管用.
下面介绍两种最常用的方法:
解决办法:
方法1:修改tomcat目录下的context.xml,找到<Context>标签,把reloadble的属性值设为:reloadable="false",即<Context reloadable="false">。
找到修改后,好像没有怎么报错了,但是很快又发现似乎没有什么效果,依旧会出现错误提示。
方法2:将tomcat的server.xml中的Context的reloadable设成false。比如:<Context path="/expert" docBase="expert" debug="0" reloadable="false">
在server.xml中并没有找到context的配置信息,所以干脆就把“<Context path="/expert" docBase="expert" debug="0" reloadable="false"></Context>”加在了server标签内部,至今没有出现问题。