为什么jboss不能为这个网址找到合适的驱动程序?

时间:2016-07-02 19:58:25

标签: java jpa jboss

我需要使用jboss-as-7.1.1(hibernate)的jpa实现,但在部署应用程序时,服务器应用程序会显示以下消息:

Could not obtain connection to query metadata : No suitable driver found for jdbc:oracle:thin:@localhost:1521:xe

我添加了ojdbc6 jar作为全局模块。实际上,服务器表明它能够在类路径中找到驱动程序类:

using driver [oracle.jdbc.OracleDriver] at URL [jdbc:oracle:thin:@localhost:1521:xe]

这是我的persistence.xml,以防万一:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="HBOService">
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
            <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
            <property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
            <property name="hibernate.connection.username" value="HBOWEB"/>
            <property name="hibernate.connection.password" value="****"/>
        </properties>
    </persistence-unit>
</persistence>

更多信息:

顺便说一下,我使用了这个完全相同的参数,创建了一个数据源,更新了我的persistence.xml以使用这个数据源,它运行得很好。

那么,这笔交易是什么? jboss 7是否支持非数据源连接?可能是什么问题?

1 个答案:

答案 0 :(得分:0)

JBoss 7没有包含Oracle或MySQL等所包含的数据库驱动程序。

您需要为它们创建一个JBoss模块并将其添加到JBoss 7安装中。查看jboss 7 oracle datasource configuration

的答案

然后,您需要从WAR应用程序向oracle db模块添加依赖项。这可以使用jboss-dependency.xml文件或MANIFEST.MF文件来完成。有关详细信息,请参阅Best Practice for loading 3rd party JARs in JBoss AS7 standalone deployment?