2009-07-18 6 views
1

私のアプリケーションには、apache cxfでhibernateを使用する必要があります。問題は、私がapache cxfにhibernateを設定した後で、アプリケーションが起動しなかったことです。それは、factorySessionを作成するために使用した、springframeworkからLocalSessionFactoryBeanクラスが見つからないというエラーを出します。 私はapache cxfを使い慣れていないので、私のところではエラーになる可能性があります。皆さんの誰かが、apache cxfを使ってhibernateを設定する最良の方法は何か教えていただけますか?apacheで動作するようにhibernateを設定する方法cxf

あなたのサービス層のための事前

答えて

0

使用CXFのおかげで、バックエンドで休止状態を保ちます。それは本当に春や冬眠がやっていることを妨げるべきではありません。

0

これは本当にクラスパスの問題のように見えます.CXFを追加するときにクラスパスから何らかの形でヒーロージャーを失ったようです。欠落しているBeanは、休止状態のクラスです。

2

Mickael Istriaは次のように書いています。 問題は "asm"依存関係の競合に関連している可能性があります。確かに、 CXFはhibernateより新しい "cglib"バージョンを使用しています。それ自体が新しい "asm"を使用しているため、それらをまとめて統合するときに問題が発生することがあります 私が使用する回避策は、古いcglib(およびその依存関係)を でクラスパスのcglib-nodep.jarで置き換えても、それはHibernateでは問題ありません。 には古い "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

関連する問題