tomcat6启动异常 Could not load com.mysql.jdbc.SQLError的解决方法

2019-03-12 01:39|来源: 领悟书生

我用的tomcat是apache-tomcat-6.0.36,在启动的时候出现以下的异常,虽然程序依然可以运行,但是异常就得解决

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:1566)

       at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)

       at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3364)

       at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1708)

       at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4371)

       at com.mysql.jdbc.ConnectionImpl.cleanup(ConnectionImpl.java:1360)

       at com.mysql.jdbc.ConnectionImpl.finalize(ConnectionImpl.java:2728)

       at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)

       at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:101)

       at java.lang.ref.Finalizer.access$100(Finalizer.java:32)

       at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:190)


参考http://radio123.iteye.com/blog/1396760的解决方案:

问题补充:网站能正常工作,包都导对的

解决方法:

如果用连接池 把mysql的驱动包放入到 tomcat5.x 版本的 common\lib,如果是tomcat 6.x就直接放到 lib目录下 ,的下面 这样就会好 如果用jdbc 那就放到工程下面的lib就ok了


但是如果只把mysql的驱动包放到tomcat的lib目录还不够,还要把项目WEB-INF/lib目录上的mysql驱动包删旧,重启即可。


本文链接:tomcat6启动异常 Could not load com.mysql.jdbc.SQLError的解决方法,转载请注明:http://www.656463.com/article/490

相关问答

更多
  • 能把报错截屏发一下吗? 还有就是你的地址打错了 http://localhost:8080你多了个a
  • 可能是不兼容或者系统损坏
  • 先把eclipse 管理 把进程里面的javaw.exe 全部结束掉 然后把tomcat 的服务也结束掉 然后再运行eclipse
  • 您将应用程序从32位Hotspot JVM移动到64位Openjdk JVM。 在新服务器上,你有更少的RAM。 首先,我将尝试在新服务器上安装相同的32位Hotspot JVM,并查看是否仍然发生崩溃。 如果他们这样做,我会开始添加更多内存,并相应地调整xmx等。 You moved your app from a 32-bit Hotspot JVM to a 64-bit Openjdk JVM. And on the new server you have less RAM. First I wou ...
  • 只是好奇你的CATALINA_HOME和JAVA_HOME是否设置好了? 这些环境变量是运行Tomcat的先决条件。 转到开始 - >我的电脑(右键单击它) - >属性 - >高级 - >环境变量(按钮),然后将CATALINA_HOME设置为Tomcat和JAVA_HOME到JDK位置的路径,将JAVA_HOME \ bin添加到PATH变量中。 Ok, Solved this one myself. It turns out that "Load configuration failed" was a ...
  • 根据Tomcat 6上下文文档 : 可以明确定义上下文元素: 仅当$ CATALINA_BASE / conf / [enginename] / [hostname] /中的应用程序不存在上下文文件时,才在应用程序文件内的/META-INF/context.xml中的单个文件中。 如果Web应用程序打包为WAR,则/META-INF/context.xml将复制到$ CATALINA_BASE / conf / [enginename] / [hostname] /并重命名以匹配应用程序的上下文路径。 一旦 ...
  • 这是为了帮助遇到同样问题的人。 请记住,我没有解释变更的工作原理,但它解决了我的问题,因此将其发布给其他人。 /etc/init.d/tomcat6有一个名为“parseOption”的函数,它解析配置文件中指定的配置。 在其他函数[stop / start]中调用此函数,并且在解析配置时工作正常,如上面的输出所示。 在stop函数内部,最初调用如下: if [ -f "/var/lock/subsys/${NAME}" ]; then parseOptions $SU - $ ...
  • 我找到了解决方案。 在阅读了Tomcat和Class Loading之后,我发现Tomcat有一个订单。 它是这样的; Bootstrap(/ jre / lib / ext) - > System(/ catalina-home / bin /) - > Common(/ catalina-home / lib) - > Webapps。 包含日志记录的tomcat-juli.jar加载了“System”-step,因此当你将其他日志记录的东西放在一起时,它会忽略它,因为它已经被加载了。 然后解决方案是在 ...
  • 我发现这里的步骤是完美的。 如果使用Linux 2.6.24或更高版本,则可以在java可执行文件上设置文件功能,以提供仅允许打开特权端口的提升权限,并且不允许其他超级用户权限: # setcap cap_net_bind_service+ep /path/to/bin/java 设置完成后,您可能会在启动Java时发现错误,例如: $ java -version /path/to/bin/java: error while loading shared libraries: libjli.so: can ...
  • 你的类路径中是否有Apache commons-logging jar文件? 它似乎是一个类,它是您缺少的公共日志记录的一部分。 Do you have the Apache commons-logging jar file in your classpath? It seems to be a class that is a part of commons-logging that you are missing.