找不到文件Hibernate OSGi捆绑包

找不到文件Hibernate OSGi捆绑包,hibernate,osgi,Hibernate,Osgi,我正在开发一个应用程序,它将Hibernate框架应用到OSGi(更具体的Equinox服务器)中。因此,我已经生成了库包和客户机插件,在这里,我利用前面提到的库包对业务逻辑和数据库之间的通信进行编程。在我的项目中,我有一个软件包结构如下: /src /com.cartif.manager /com.cartif.hibernatemappings 在manager包中,我有一些类负责将客户机与数据库和映射进行通信,其中一个类包含配置文件和hibernate映射文件。然而,当我

我正在开发一个应用程序,它将Hibernate框架应用到OSGi(更具体的Equinox服务器)中。因此,我已经生成了库包和客户机插件,在这里,我利用前面提到的库包对业务逻辑和数据库之间的通信进行编程。在我的项目中,我有一个软件包结构如下:

/src
    /com.cartif.manager
    /com.cartif.hibernatemappings
在manager包中,我有一些类负责将客户机与数据库和映射进行通信,其中一个类包含配置文件和hibernate映射文件。然而,当我部署捆绑包时,引用工作正常,但我得到一个例外,如下所示:

Exception in thread "Thread-20" org.hibernate.HibernateException: could not find file: .\com\cartif\hibernatemappings\hibernate.cfg.xml
    at org.hibernate.cfg.Configuration.configure(Configuration.java:2136)
    at com.cartif.dwhconnector.manager.DatabaseCommunicator.createDBSession(DatabaseCommunicator.java:89)
    at com.cartif.dwhconnector.manager.DWHManager.createDBSession(DWHManager.java:53)
    at com.cartif.dwhconnector.osgi.DWH_Handler.<init>(DWH_Handler.java:65)
    at com.cartif.dwhconnector.osgi.Activator.run(Activator.java:67)
Caused by: java.io.FileNotFoundException: .\com\cartif\hibernatemappings\hibernateTUC.cfg.xml (El sistema no puede hallar la ruta especificada)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:2133)
在清单文件中,我将捆绑包的类路径建立为:

Bundle-ClassPath: .
我还尝试通过bundle上下文对象获取bundle位置、入口路径等,但总是相同的异常。您知道我如何访问配置文件吗


提前非常感谢

已经解决了!!!!问题是当库和代码分开时,必须在两个包中引用库,这会生成循环依赖关系。因此,在客户端更改清单的配置,而不是导入包,而是引用整个包(requirebundle)。这样就避免了循环依赖,而且服务器端可以导入Hibernate文件所在的包。

Jose,请注意Hibernate的开发并没有考虑OSGi。我们有太多的类加载问题,所以我们放弃了,转而使用另一个JPA实现。非常感谢您的评论。我可以问你OSGi中有用的JPA框架吗???我知道有两种选择:双子座JPA和白羊座JPA。
Bundle-ClassPath: .