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標簽內部,至今沒有出現問題。