谢谢你抽出时间来看我的问题。
我开发了一个Java文件,目的是一次只分发给一个服务器。到目前为止,我已经成功地在3台不同的服务器上进行了测试,其中一台是Debian,一台是Ubuntu,另一台是我正在开发的Windows机器。
在最终的部署服务器上,由于某种原因,应用程序可以很好地部署,并且在每次启动时,运行良好的时间约为3分钟。数据库连接正常,一切正常。然而,3分钟后,每当应用程序试图访问DB时,我都会一直看到NoClassDefFoundError。
我是以下库,它们都打包在WAR文件中:
Mysql/j连接器,最新版本ActiveObjects,0.8.2 Jasorb 1.3 Jython2.5.1(用于编写脚本) Tomcat 6.0.20 mod_python Apache
错误:
线程“Tim-4”中的com.mysql.jdbc.Util.handleNewInstance(Util.java:430)异常java.lang.NoClassDefFoundError: com/mysql/jdbc/SQLError at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java。sql.DriverManager.getConnection(DriverManager.java:185) at net.java.ao.DatabaseProvider.getConnectionImpl(DatabaseProvider.java:771) at net.java.ao.DatabaseProvider.getConnection(DatabaseProvider.java:734) at net.java.ao.EntityManager.find(EntityManager.java:666) at net.java.ao.EntityManager.find(EntityManager.java:607) at net.java.ao.EntityManager.find(EntityManager.java:( 579) com.sq.sa.SAPushAlertsTask.run(SAPushAlertsTask.java:32) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462)由: java.lang.ClassNotFoundException: com.mysql.jdbc.SQLError at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:138 7)在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:123 3)在java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) .多13
发布于 2009-10-13 19:12:44
或者您的MySQL/J连接器不知怎么坏了,或者(更有可能),您的类路径中有另一个jar,它只包含来自MySQL的JDBC驱动程序的类的一些。不管怎样,都找不到"com/mysql/jdbc/SQLError“类。
您的应用程序在开始的几分钟内运行良好,然后当发生一些错误时,无法加载上述类,这会抛出发布的异常。检查整个类路径(CLASSPATH env )。变量+tomcat的lib +webapp的库),并查看( a)实际上是否有SQLError;( b) MySQL JDBC驱动程序不会出现不止一次。
一旦修复了上面的内容,您就会得到一个导致这个问题的实际错误,并且应该能够从那里得到它。
https://stackoverflow.com/questions/1562244
复制相似问题