2009-07-18 139 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