【发布时间】:2014-05-03 05:38:28
【问题描述】:
我正在开发一个应用程序,它将 Hibernate 框架用于 OSGi,更具体地说,Equinox 服务器。因此,我已经生成了库包和客户端插件,我在其中对业务逻辑和数据库之间的通信进行了编程,并使用了前面提到的库包。在我的项目中,我有以下包结构:
/src
/com.cartif.manager
/com.cartif.hibernatemappings
在管理器包中,我有那些负责客户端与数据库通信的类,其中一个包含配置文件和休眠映射文件。尽管如此,当我部署捆绑包时,引用运行良好,但我得到一个异常如下:
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)
在我正在读取 cfg.xml 的行中引发了此异常:
configuration.configure(new File("./com/cartif/hibernatemappingshibernate.cfg.xml"));
在清单文件中,我将包的类路径设置为:
Bundle-ClassPath: .
我也尝试通过捆绑上下文对象获取捆绑位置、入口路径等,但总是相同的异常。你知道我如何访问配置文件吗?
非常感谢您!
【问题讨论】: