【发布时间】:2011-08-02 05:38:55
【问题描述】:
我的tomcat 5服务器在centos上运行频繁(每天几次)产生以下错误:
Apr 7, 2011 11:02:30 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already. Could not load com.mysql.jdbc.SQLError. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1370)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3291)
at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1665)
at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4411)
at com.mysql.jdbc.ConnectionImpl.cleanup(ConnectionImpl.java:1315)
at com.mysql.jdbc.ConnectionImpl.finalize(ConnectionImpl.java:2761)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Unknown Source)
at java.lang.ref.Finalizer.access$100(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
tomcat的lib目录包含mysql-connector-java-5.1.8-bin.jar和mysql-connector-java-5.1.6-bin.jar,而WEB-INF/lib目录只包含mysql-connector-java -5.1.8-bin.jar。所有三个 jar 文件都包含 SQLError 类。
我想消除这个异常。 tomcat 会在其他地方寻找这个类吗?
【问题讨论】:
-
不要在 lib 文件夹中保留相同的 lib 不同版本。尝试保留最新的并删除其他并尝试。
-
我已按照建议升级到 mysql-connector 的最新版本 (5.1.15),并删除了所有旧副本。我使用的是 tomcat 6.0.24 而不是 5。抱歉打错了。
标签: java mysql tomcat jdbc tomcat6