OSGI与Hibernate:“没有合适的驱动程序找到”(OSGI with Hibernate:

2019-09-28 17:19发布

我得到了心爱的错误:

java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/acme

我明白了为什么这个错误通常出现的原因有很多:

  • 无效的网址:此网址似乎并未有任何错误和SQL工作台工作完全正常。
  • 驱动程序不类路径:它已成功导入(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包的一个错误。

Answer 1:

你怎么会有这种包装? 如果你把Hibernate和在同一个OSGi包PostgreSQL的JDBC罐子,它应该工作。 这是BIRT并加载它的JDBC驱动程序。



文章来源: OSGI with Hibernate: “No suitable driver found”