Spring JDBC Не удалось загрузить класс драйвера JDBC [oracle.jdbc.driver.OracleDriver]

Интересно, кто-нибудь может мне помочь с этим. Я столкнулся с проблемой, когда пытался написать код для Spring JDBC. Когда я запустил сервер, я получил сообщение, которое упомянул в заголовке. У меня есть Google, и кто-то сказал, что вы должны импортировать ojdbc.jar. Тем не менее, я уже импортировал его. Вот мой код:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@192.168.0.13:1521/orcl" />
    <property name="username" value="Hibernate" />
    <property name="password" value="123456" />
    </bean>

</beans>

Пожалуйста, предложите, если я сделал что-то не так. Спасибо заранее.

9 ответов

Убедитесь, что в ваш путь к классу добавлен файл ojdbc.jar. Если вы хотите, вы можете также дважды проверить его, открыв файл .classpath и ищите запись ojdbc.jar. Если у вас его нет, загрузите его из репозитория Maven, как указано ниже:

        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
        </dependency>
.......

    <repositories>
        <repository>
            <id>codelds</id>
            <url>https://code.lds.org/nexus/content/groups/main-repo</url>
        </repository>
    </repositories>

Загрузите банку ojdbc отсюда

поместите ojdb6.jar в какую-то папку в вашем проекте (давайте используем lib).

<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>11.2.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/ojdbc6.jar</systemPath>

Затем выполните mvn install:install-file -Dfile=path/to/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar

Я просто положил ojdbc6.jar в каталог установки Apache Tom Cat в каталоге lib

D:\TOOLS\ сервер Apache Tom cat \Tomcat 8.0\lib

Это решило мою проблему.

Если вы используете Maven в качестве инструмента сборки, добавьте эту зависимость ниже. Убедитесь, что у вас правильная версия файла ojdbcXX.jar, соответствующая версии базы данных. У меня есть база данных Oracle 11g, поэтому я использую ojdbc6.jar.

Шаг 1) Добавить зависимость

<dependency>
   <groupId>com.oracle</groupId>
   <artifactId>ojdbc</artifactId>
   <version>6</version>
   <scope>system</scope>
   <systemPath>C:\Users\AkhileshPC\Downloads\ojdbc6.jar</systemPath>
</dependency>

Шаг 2) Установите ojdbcXX.jar в локальный репозиторий Maven.

Command > mvn install:install-file "-Dfile =Downloads\ojdbc6.jar" "-DgroupId=com.oracle" "-DartifactId=ojdbc6" "-Dversion=11.2.0.1" "-Dpackaging=jar"

Настройка образа локального репозитория maven

Шаг 3) Убедитесь, что ваш файл ojdbcXX.jar доступен в папке WEB-INF\lib соответствующего проекта в папке.metadata.

Мое дело:

C:\Users\AkhileshPC\JavaSpring\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\1007_Spring_Mvc_App_Crud\WEB-INF\lib

путь к папке web-inf Изображение

После выполнения всех трех шагов проблема должна быть решена.

Просто скопируйте ojdbc6.jar в папку tomcat/lib, как показано на рисунке ниже. пример tomcat/lib/

В моем случае проблема заключалась в том, чтобы установить runtime:

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>7.0.0.jre8</version>
    <scope>runtime</scope>
</dependency>

Я решил это в InteliJ вот так:

Файл -> Структура проекта -> Библиотеки -> щелкните '+' (добавить новый) -> укажите путь к ojdbc.jar в файловой системе (ранее загруженный вручную или с помощью какого-либо инструмента сборки)

Я пытался использовать идею добавления ojdbc в lib, но это неверно.

Мое окончательное решение — добавить ojdbc.jar в каталог tomcat lib, а затем перезапустить его.

Нет фатальной ошибки

Пытаться

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="url" value="jdbc:oracle:thin:schema_name/123456@192.168.0.13:1521:orcl" />
    <property name="username" value="Hibernate" />
    <property name="password" value="123456" />
    </bean>

</beans>

Если вы используете Spring Boot 2 (я использую Spring Boot 2.0.4.RELEASE, база данных Oracle 12c), application.properties

spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:schema_name/123456@192.168.0.13:1521:xe
spring.datasource.username=Hibernate
spring.datasource.password=123456

(Вы должны иметь ojdbc7.jar в пути к классам)

Другие вопросы по тегам