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
в пути к классам)