java.sql.SQLException: нет подходящего драйвера при выполнении тестов через Spring Roo - PullRequest
3 голосов
/ 22 ноября 2011

Я пытаюсь пройти тесты, автоматически сгенерированные roo для классов сущностей. Когда я запускаю тесты против hsql, они все проходят. Но когда я запускаю тесты для Oracle, я получаю следующее:

Причина: org.apache.commons.dbcp.SQLNestedException: Невозможно создать драйвер JDBC класса 'oracle.jdbc.driver.OracleDriver' для URL-адреса подключения 'jdbc: localhost: 1521: xe'

У меня есть oracle db local, я знаю, что соединение работает.

Файл ojdbc14.jar находится в каталоге lib каталога JBoss 4.2.3 / server / all (в котором мы развертываем)

Это определение фабрики бина источника данных и менеджера сущностей

<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

Я не могу понять, почему он говорит, что не может найти подходящего водителя.

заранее спасибо

1 Ответ

5 голосов
/ 22 ноября 2011

Ваш URL не имеет правильного шаблона.Попробуйте jdbc:oracle:thin:@localhost:1521:xe вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...