嘿,我制作了一个 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
我不明白为什么它找不到类路径,即使它使我的实体来自数据库并且我的程序之前可以运行。我可能没有为某些代码更改任何内容,但没有更改类路径甚至数据库。 感谢您的宝贵时间!
最佳答案
它不在 CLASSPATH 中。你不应该假设因为某些东西在一种情况下有效,所以它适用于另一种情况。您没有正确设置;相信 JVM。
Glassfish 或 NetBeans 没有做正确的事情。它是 CLASSPATH - 找出它。
这是网络应用程序吗? MySQL JAR 是否在 WAR 的 WEB-INF/lib 目录中?如果没有,请将其放在那里。
Glassfish 是否要求将 JDBC 驱动程序 JAR 放在服务器/lib 目录中?如果是,请将其放在那里。
驱动类名是否正确?那不是我用来连接 MySQL 的。为什么你认为这是正确的?检查一下。
关于java - 找不到 Netbeans Java EE SQL 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5657556/