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

Posted

技术标签:

【中文标题】在 Windows 中的 Netbeans/Glassfish 哪里添加 jdbc 驱动程序?【英文标题】:Where to add the jdbc driver on Netbeans/Glassfish in Windows? 【发布时间】:2015-01-20 13:58:09 【问题描述】:

我有一个在 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 作为变量添加到 windows 类路径中,但这也没有效果。

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

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

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

【问题讨论】:

【参考方案1】:

将 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”按钮以确保您正在连接。

【讨论】:

以上是关于在 Windows 中的 Netbeans/Glassfish 哪里添加 jdbc 驱动程序?的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 版本 10.0.18363 中无法切换到 Docker 中的 Windows 容器

环境变量存储在 Windows 注册表中的啥位置?

在windows 7 下Excel 2007 VBA中的命令SendKeys有时会无效?

Windows 容器中的 opencv 导入失败(在 Windows Server 2016 上)

Windows 7 与 Windows XP 上 Firefox 中的字体行间距

使用移动设备访问托管在 Windows 服务中的 WCF 服务