mysql - 未设置将 MySQL 数据库连接到 Glassfish 类路径或类名错误

标签 mysql eclipse jakarta-ee glassfish

我正在将 derby 数据库换成 MySQL 数据库。我之前一切正常,但在我认为正确的配置之后,我得到了错误:

原因:javax.resource.ResourceException:类名错误或未设置类路径:com.mysql.jdbc.jdbc2.optional.MysqlDataSource

来自控制台的完整错误输出:

Caused by: javax.resource.ResourceException: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource
at com.sun.gjc.common.DataSourceObjectBuilder.getDataSourceObject(DataSourceObjectBuilder.java:292)
at com.sun.gjc.common.DataSourceObjectBuilder.constructDataSourceObject(DataSourceObjectBuilder.java:114)
at com.sun.gjc.spi.ManagedConnectionFactory.getDataSource(ManagedConnectionFactory.java:1292)
at com.sun.gjc.spi.DSManagedConnectionFactory.getDataSource(DSManagedConnectionFactory.java:148)
at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:101)
at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:87)

我已经仔细检查了一些名称、连接池和其他资源。我还在两个项目的 glassfish 库中添加了 MySQL 驱动程序 .jar。数据库通过 Eclipse 肯定可以正常工作,因为我能够在 Eclipse 的数据库上下文中查看表并显示资源。所以我知道至少那些驱动程序工作正常。 persistence.xml 文件看起来也不错。它像应有的那样引用 jdbc/mydatabase jndi 引用,并且选择默认 JTA 作为管理类型。

有人有其他建议吗?谢谢

最佳答案

I've also added the MySQL driver .jars to the library of glassfish in both projects.

这显然没有做对。 JAR 必须放在 Glassfish 安装的 /glassfish/domains/[domainname]/lib/ext 文件夹中,其中 [domainname] 通常默认为 domain1。您可以也不应该从 Eclipse 端配置它。

关于mysql - 未设置将 MySQL 数据库连接到 Glassfish 类路径或类名错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8349970/

相关文章:

mysql - SQL:如何获取表的列表对

php - 为什么我的查询不起作用?

java - 读取CSV文件java的最快方法

java - Eclipse:JerseyTest.getClient 返回 RestEasyClient

java - 使用 Arquillian 测试有状态 session Bean (arq-jbossas-remote)

mysql - UPDATE 语句在 "query end state"

复制文件后MySQL表不存在

eclipse - Hadoop容器的功能

java - 在服务器硬件上播放音频

java - Jersey:如何在多个 Web 模块之间共享 ExceptionMapper?