有没有办法检查我的Glassfish是否正常看到ojdbc6.jar?
我正在使用Netbeans 7.2.1,使用JSF 2,Glassfish 3.1.2和Oracle 11g。我想连接到这个数据库。
首先,我需要在Glassfish中创建连接池。我打开localhost:4848设置5件事:
保存,重置服务器(只是肯定),ping ....并且错误:类名错误或类路径未设置为:oracle.jdbc.pool.OracleDataSource
我已经做了什么:
首先检查ojdbc jar。从我的Oracle目录中,我将名称中包含“ojdbc”的每个jar复制到“C:\ glassfish3 \ glassfish \ domains \ domain1 \ lib”中。
其次,检查网址的正确性。在Netbeans内部,切换到Services选项卡,右键单击Databases,New connection ...设置数据连接(首先我必须添加,jodbc6.jar ..所以我添加完全相同的文件 - 来自glassfish文件夹)。有用!连接还可以。我查看了Netbeans数据库URL - 与我在glassfish gui中的url相同。我也用\来试过网址,但没有用。
那么,还有什么呢?也许1号不行。所以这是我的问题:如何检查我的Glassfish是否正常看到ojdbc6.jar?
EDIT。 当我运行Glassfish时,我收到一些警告:
警告:存在多个[2] JMX MBeanServer实例,我们将使用 索引[0]的服务器: [com.sun.enterprise.v3.admin.DynamicInterceptor@704d54]。
警告:正在使用JMX MBeanServer: 来自索引[0]的[com.sun.enterprise.v3.admin.DynamicInterceptor@704d54]
警告:正在使用JMX MBeanServer: 来自索引[1]的[com.sun.jmx.mbeanserver.JmxMBeanServer@ed312d]
答案 0 :(得分:19)
将所有必需的jar文件(ojdbc6.jar .....)复制到'domains \ domain1 \ lib \ ext'文件夹。然后重启你的玻璃鱼。 然后尝试从glassfish ping,它会起作用
答案 1 :(得分:2)
“..但你怎么知道它是'ext'文件夹?而不只是'lib'?一个人说lib,其他分机......”
使JDBC驱动程序JAR文件可访问要集成JDBC 驱动程序进入GlassFish Server域,将JAR文件复制到 domain-dir / lib目录,然后重启服务器。这使得课程 可在服务器上部署的所有应用程序或模块访问 共享相同的配置。有关GlassFish的更多信息 服务器类加载器,请参阅GlassFish Server Open中的“类加载器” 源版应用程序开发指南。如果你正在使用 带有EclipseLink扩展的Oracle数据库,将JAR文件复制到 domain-dir / lib / ext目录,然后重启服务器。对于 详细信息,请参阅GlassFish Server Open中的“Oracle数据库增强功能” 源版应用程序开发指南
答案 2 :(得分:1)
请注意,当NetBeans在Windows上运行glassfish时,它使用的“域”目录位于您的主目录中,而不是C:\glassfish
或C:\Program Files\glassfish
在我的Windows 7上运行带有Glassfish 4.1的NetBeans 8.0.2,我不得不将Oracle驱动程序jar(ojdbc6.jar)放入
c:/Users/t823517/AppData/Roaming/NetBeans/8.0.2/config/GF_4.1/domain1
答案 3 :(得分:0)
如果您从IDE运行glassfish,可能是netbeans创建虚拟应用程序。 尝试这种添加罐子的方式:http://netbeans.org/kb/docs/javaee/entappclient.html
答案 4 :(得分:0)
将ojdbc6-11.1.0.jar(ojdbc6版本可能与您的情况不同)复制到glassfish_installation \ glassfish \ lib
重启glassfish服务器
答案 5 :(得分:0)
对于payara服务器我将ojdbc jar复制到{payara_installation_folder} \ glassfish \ lib,其工作正常