当前位置: 首页 > 知识库问答 >
问题:

找不到文件Hibernate OSGi捆绑包

冀子石
2023-03-14

我正在开发一个应用程序,它利用Hibernate框架将OSGi转换为更具体的Equinox Server。因此,我生成了库包和客户端插件,我在其中利用前面提到的库包对业务逻辑和数据库之间的通信进行编程。在我的项目中,我有以下包结构:

/src
    /com.cartif.manager
    /com.cartif.hibernatemappings

在管理器包中,我有那些负责将客户端与数据库和映射进行通信的类,其中一个包含配置文件和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)

这个异常在我读取cfg的行中抛出。xml:

configuration.configure(new File("./com/cartif/hibernatemappingshibernate.cfg.xml"));

在清单文件中,我将捆绑包的类路径建立为:

Bundle-ClassPath: .

我还尝试通过bundle上下文对象获取bundle位置、条目路径等,但总是相同的异常。你知道我如何访问配置文件吗?

提前非常感谢!

共有1个答案

宓和同
2023-03-14

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

 类似资料:
  • 问题内容: 命令: 异常(来自日志文件) 但是以下jar可用。 关于上述错误有什么建议吗? 问题答案: 您需要安装几个捆绑软件才能使用控制台,如果仅使用Equinox启动,则您将不会获得这些捆绑软件。 使此工作最快的方法是创建一个具有以下内容的文件: 注意, 您将不得不根据实际拥有的版本检查这些捆绑软件的版本号。我使用SDK-4.2M6进行了尝试,其中某些可能已在RC3中更改。

  • 我正在为Android安装我的ADT捆绑包,它一直给我这个错误,说,找不到SDK文件夹,我该怎么做才能让它再次工作? 我有多个错误,比如: 还有更多。

  • 问题内容: 因此,现在我正在使用一个原型,其中我们将webpack(用于构建.tsx文件和复制.html文件)与webpack-dev- server之间的组合用于开发服务。您可以假设我们也将React和ReactDOM用作两个库依赖项。我们当前的构建输出是以下结构: 这会将所有模块(包括库相关性放入大捆绑文件中)放置。我希望最终结果如下所示: 我在index.html和.tsx文件的import

  • 我得到一个例外: 无法找到模板"" 其他类似的问题没有帮助;奇怪的是,它工作得很好,然后突然开始给我这个例外。 作曲家: 自动路由生成:单个RESTful控制器(用于简单资源) 配置: 路由: 控制器:

  • 找不到MessageSource的ResourceBundle[classpath:/org/springframework/security/messages]源:找不到基本名称的bundle classpath:/org/springframework/security/messages,locale ru我找不到任何在Java中设置国际化的解决方案 我的代码是这样的

  • 问题内容: 我对mvc4捆绑器有一个奇怪的问题,不包括扩展名为.min.js的文件 在我的BundleConfig类中,我声明 我认为 当它渲染时,它只会渲染 如果我将jquery.tmpl.min.js重命名为jquery.tmpl.js(并相应地更新捆绑软件中的路径),则两个脚本均正确呈现。 是否有一些配置设置导致其忽略“ .min.js”文件? 问题答案: 我最初发布的解决方案是有问题的(很