java.sql.SQLException:通过spring roo运行测试时没有合适的驱动程序

时间:2011-11-22 10:09:07

标签: oracle hibernate spring

我正在尝试传递由roo为实体类自动生成的测试。当我对hsql运行测试时,它们都通过了。但是当我对Oracle运行测试时,我得到以下结果:

引起:org.apache.commons.dbcp.SQLNestedException:无法为连接URL'jdbc:localhost:1521:xe'

创建类'oracle.jdbc.driver.OracleDriver'的JDBC驱动程序

我有一个oracle db local,我知道连接有效。

ojdbc14.jar文件位于JBoss 4.2.3 / server / all目录的lib目录中(我们正在部署到的目录)

这是数据源bean和实体管理器工厂定义

<bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
    <property name="driverClassName" value="${database.driverClassName}"/>
    <property name="url" value="${database.url}"/>
    <property name="username" value="${database.username}"/>
    <property name="password" value="${database.password}"/>
    <property name="testOnBorrow" value="true"/>
    <property name="testOnReturn" value="true"/>
    <property name="testWhileIdle" value="true"/>
    <property name="timeBetweenEvictionRunsMillis" value="1800000"/>
    <property name="numTestsPerEvictionRun" value="3"/>
    <property name="minEvictableIdleTimeMillis" value="1800000"/>
</bean><!--  Development specific configuration comes here.  -->

<bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="entityManagerFactory">
    <property name="persistenceUnitName" value="${hibernate.persistenceunit}"/>
    <property name="dataSource" ref="dataSource"/>
</bean>

这是pom依赖关系定义:

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc14</artifactId>
        <version>10.2.0.3.0</version>
        <classifier/>
    </dependency>

persistenceunit变量解析为persistenceUnitDev

这是该持久性单元的hibernate定义              org.hibernate.ejb.HibernatePersistence                                                                                                                               

最后我的属性文件定义了数据连接:

database.password=password
database.url=jdbc\:localhost\:1521\:xe
database.username=username
database.driverClassName=oracle.jdbc.driver.OracleDriver

我无法弄清楚为什么它告诉我它无法获得合适的驱动程序。

提前致谢

1 个答案:

答案 0 :(得分:5)

您的网址没有正确的模式。请改为jdbc:oracle:thin:@localhost:1521:xe