У меня была эта точная проблема при разработке приложения Spring Boot в STS, но в конечном итоге развертывание упакованной войны в WebSphere (v.9). Основываясь на предыдущих ответах, моя ситуация была уникальной. ojdbc8.jar был в моей папке WEB-INF / lib с установленным набором родительского последнего класса, но всегда говорит, что не удалось найти подходящий драйвер.
Моя последняя проблема заключалась в том, что я использовал неправильный класс DataSource потому что я просто следил за онлайн-учебниками / примерами. Нашел подсказку благодаря тому, что Дэвид Дай прокомментировал свой собственный вопрос: Spring JDBC Не удалось загрузить класс драйвера JDBC [oracle.jdbc.driver.OracleDriver]
Также позже был найден весенний гуру пример с конкретным драйвером Oracle: https://springframework.guru/configuring-spring-boot-for-oracle/
Пример, который вызывает ошибку, используя org.springframework.jdbc.datasource.DriverManagerDataSource
на основе общих примеров .
@Config
@EnableTransactionManagement
public class appDataConfig {
\* Other Bean Defs *\
@Bean
public DataSource dataSource() {
// configure and return the necessary JDBC DataSource
DriverManagerDataSource dataSource = new DriverManagerDataSource("jdbc:oracle:thin:@//HOST:PORT/SID", "user", "password");
dataSource.setSchema("MY_SCHEMA");
return dataSource;
}
}
И исправленный exapmle с использованием oracle.jdbc.pool.OracleDataSource
:
@Config
@EnableTransactionManagement
public class appDataConfig {
/* Other Bean Defs */
@Bean
public DataSource dataSource() {
// configure and return the necessary JDBC DataSource
OracleDataSource datasource = null;
try {
datasource = new OracleDataSource();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
datasource.setURL("jdbc:oracle:thin:@//HOST:PORT/SID");
datasource.setUser("user");
datasource.setPassword("password");
return datasource;
}
}