java - 在 Windows 中的 Netbeans/Glassfish 上哪里添加 jdbc 驱动程序?

标签 java mysql netbeans jdbc glassfish

我有一个在 Netbeans 6.8 中创建的企业应用程序,它与 Glassfish V3 服务器一起打包。当我尝试部署和运行 EAR 项目时,我从服务器日志中收到以下异常:

SEVERE: jdbc.exc_cnfe_ds
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

通过谷歌搜索,常见的解决方案是将包含该类的 jar 文件 (mysql-connector-java-5.1.6-bin.jar) 复制到

$glassfish-v3-install-root/glassfish/domains/domain1/lib.

事实上,这就是它驻留在 Unix 服务器上的位置。但是,我正在 Windows 上对此进行测试,并且默认 glassfish 安装中不存在“domains/domain1”目录。我手动添加它们并添加 jar ,但这没有什么区别。我还将 jar 作为变量添加到 Windows 类路径中,但这也没有效果。

然后我尝试添加 jar 文件 $glassfish-v3-install-root/glassfish/lib,这产生了不同的错误:

严重:RAR5111:转换到 javax.sql.Datasource 时出错 java.lang.ClassCastException:com.mysql.jdbc.Driver 无法转换为 javax.sql.DataSource

我使用与服务器相同的 jar 文件。我猜 jar 放错地方了?我不想将其放入项目中,因为这不是它在生产中的部署方式。任何帮助表示赞赏。

最佳答案

将 jar 文件放入 $glassfish-v3-install-root/glassfish/lib 中结果是正确的。

"SEVERE: RAR5111 : Error casting to javax.sql.Datasource java.lang.ClassCastException: com.mysql.jdbc.Driver cannot be cast to javax.sql.DataSource"

我认为错误是由 glassfish 服务器上的 jdbc 池设置不正确引起的。但是,转到管理控制台(可从 Netbeans“服务器”选项卡访问),转到“JDBC”、“连接池”,选择“java.sql.driver”作为资源类型,然后选择“com.mysql.jdbc.driver”因为驱动程序类名将消除转换问题。

点击顶部附近的“Ping”按钮以确保您正在连接。

关于java - 在 Windows 中的 Netbeans/Glassfish 上哪里添加 jdbc 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27078016/

相关文章:

java - hibernate SQL 异常 java.lang.StringIndexOutOfBoundsException : String index out of range

javascript - 设置文本区域中各行的样式

java - 如何在 NetBeans 平台项目(插件)中正确处理文件保存

java - 在 Mac 上将 JFrame 与 Netbeans 结合使用

java - Hibernate映射异常: unknown entity

Java:调用类类型数组来测试相等性

php - 用于获取未提交特定一周时间的用户数据的 SQL 查询?

php - 匹配 mysql 列中的字符串

netbeans - 如何从netbeans中删除项目而不删除文件?

java sql server 获取错误