Я получаю любимую ошибку:
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/acme
Я понимаю много причин, по которым обычно возникает эта ошибка:
- Недопустимый URL-адрес. Этот URL-адрес не содержит ошибок и отлично работает в SQL Workbench.
- Драйвер отсутствует в ClassPath: он успешно импортирован (org.postgresql.Driver) и может быть создан либо напрямую, либо с помощью Class.forName("org.postgresql.Driver").
Загрузка Hibernate SessionFactory
инициируется из Spring-Bean, но выполняется во время выполнения со следующими свойствами:
hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.driver_class = org.postgresql.Driver
hibernate.connection.url = jdbc:postgresql://localhost:5432/acme
hibernate.connection.username = user
hibernate.connection.password = pass
Я понимаю, что Java DriverManager
не работает в OSGi, поэтому регистрация драйвера с помощью DriverManager
или создание его экземпляра для принудительной регистрации не имеет никакого эффекта.
Кто-нибудь знает, как я могу это исправить? Есть ли общее решение?
Заранее спасибо!
Решение
Как указал Андрес Оларте, я допустил ошибку, добавив драйвер в комплект реализации, но исключив его из комплекта Hibernate, где находятся классы и зависимости Hibernate.