2011-11-22 77 views
3

我试图通过roo为实体类自动生成的测试。当我对hsql运行测试时,它们都通过了。但是,当我运行针对Oracle的测试时,出现以下错误:java.sql.SQLException:通过spring roo运行测试时没有合适的驱动程序

由org.apache.commons.dbcp.SQLNestedException引起:无法为连接URL'oracle.jdbc.driver.OracleDriver'创建JDBC驱动程序, jdbc:localhost:1521:xe'

我有一个oracle数据库本地,我知道连接的作品。

ojdbc14.jar文件是在JBoss中的lib目录4.2.3 /服务器/所有目录(这是我们部署到)

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

<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

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

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

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

我不明白为什么它告诉我它不能得到合适的驱动程序。

在此先感谢

回答

5

您的网址没有适当的模式。改为尝试jdbc:oracle:thin:@localhost:1521:xe

+0

是的,就是这样。谢谢〜! – Eric

+0

确保你没有引用环境变量。这就是杀了我。 – occasl

相关问题