嘿,我制作了一个EJB程序,然后从SQL数据库中创建了实体类。一切正常,它可以连接到我的数据库,但由于某种原因我现在得到这个错误。我使用glassfish v3和netbeans ide 6.8
WARNING: Can not find resource bundle for this logger. class name that failed: com.sun.gjc.common.DataSourceObjectBuilder
SEVERE: jdbc.exc_cnfe_ds
java.lang.ClassNotFoundException: com.mysql.jdbc.jdbc2.optional.MysqlDataSource
此处有更多随机错误。
WARNING: RAR5038:Unexpected exception while creating resource for pool mysql_carrent_rootPool. Exception : javax.resource.ResourceException: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource
WARNING: RAR5117 : Failed to obtain/create connection from connection pool [ mysql_carrent_rootPool ]. Reason : com.sun.appserv.connectors.internal.api.PoolingException: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource
WARNING: RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource]
WARNING: Could not obtain connection metadata
java.sql.SQLException: Error in allocating a connection. Cause: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource
我不明白为什么它不会找到类路径,即使它使我的实体从数据库和我的程序以前工作。我没有改变任何可能的代码,但没有改变类路径甚至数据库。 谢谢你的时间!
答案 0 :(得分:5)
它不在CLASSPATH中。你不应该认为,因为在一个场景中有效的东西对另一个场景来说没问题。你没有正确设置;相信JVM。
Glassfish或NetBeans都没有做正确的事情。这是CLASSPATH - 想出来。
这是一个网络应用程序吗? MySQL JAR是否在WAR的WEB-INF / lib目录中?如果没有,请把它放在那里。
Glassfish是否要求JDBC驱动程序JAR进入server / lib目录?如果是的话,把它放在那里。
该驱动程序类名称是否正确?这不是我用来连接MySQL的东西。为什么你认为这是正确的?检查一下。