2009-07-18 140 views
1

我的应用程序,我需要使用休眠与Apache CXF。问题是我配置休眠到Apache cxf后,应用程序没有启动。它给出了一个错误,说它无法从springframework(我用来创建factorySession)中找到LocalSessionFactoryBean类。 我是新来的Apache cxf,所以它可能是我的错误。你们中的任何人都可以告诉我用apache cxf配置hibernate的最佳方法是什么?如何配置休眠使用Apache cxf

在此先感谢

回答

0

利用CXF为您服务层,并保持休眠在后端。它不应该干扰什么春天或冬眠。

0

这实际上看起来像一个类路径问题,您在添加CXF时会以某种方式丢失类路径中的缓存jar。缺少的bean是一个hibernate类。

2

Mickael Istria写道: 您的问题可能与“asm”依赖冲突有关。事实上, CXF采用了较新的“CGLIB”版本比冬眠,本身采用了较新的 “汇编”,使之整合他们在一起时 (异常如的NoSuchMethodError)有时会造成问题 我使用的解决方法是更换旧的cglib(及其依赖)通过 cglib-nodep.jar在你的类路径中,这对于休眠是可以的,而不是 需要一个旧的“asm”。

如果你使用Maven,这个样本可以帮助你了解如何解决 这种冲突:

 <dependency> 
      <!-- This artifacts adds hibernate as a dependency --> 
      <groupId>org.ow2.bonita</groupId> 
      <artifactId>bonita-server</artifactId> 
      <version>4.0.1</version> 
      <scope>test</scope> 
      <exclusions> 
       <exclusion> <!-- Then remove the dependency to cglib to avoid 
conflicts with CXF's asm --> 
        <groupId>cglib</groupId> 
        <artifactId>cglib</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
      <!-- Replaced old cglib by cglib-nodep --> 
     <dependency> 
      <groupId>cglib</groupId> 
      <artifactId>cglib-nodep</artifactId> 
      <version>2.1_3</version> 
     </dependency> 

我发现这里的解决方案:http://mail-archives.apache.org/mod_mbox/cxf-users/200901.mbox/%[email protected]%3E