在 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 7 下Excel 2007 VBA中的命令SendKeys有时会无效?
Windows 容器中的 opencv 导入失败(在 Windows Server 2016 上)