2016-06-28 14 views
1

私はこの問題についてはstackoverflowですべてを閲覧したと思いますが、解決できません。仮定すると
Ehcache + Spring 4 + Weblogic 12c = ClassNotFoundException

  • は、私が試したが4.2.5、4.2.6、4.3.0春バージョン
  • は私が最後2.10.2.2.21にehcacheバージョンに2.9.0を試してみました私は持っている
  • 私のポンポン(そして得られた戦争で)春コンテキスト、春・コンテキストのサポート、ehcacheを瓶
  • 私はその/ WEB-INF/libディレクトリに含めてWARを含むEARを展開してい瓶
  • 上必要なすべての私のEARは私の3つの開発環境(eclipse + Weblogic 12c、Windows 7、OSX、Ubun私もAに私のEARをパッケージ化しようとした

    SEVERE: Context initialization failed 
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: net.sf.ehcache.CacheManager 
    .... 
    Caused By: java.lang.ClassNotFoundException: net.sf.ehcache.CacheManager 
    at com.oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:267) 
    at com.oracle.classloader.weblogic.LaunchClassLoader.loadClass(LaunchClassLoader.java:62) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:805) 
    at java.lang.J9VMInternals.prepareClassImpl(Native Method) 
    at java.lang.J9VMInternals.prepare(J9VMInternals.java:291) 
    

    :TU)

私は、WebLogic 12.2.1.0.0に基づいたテスト環境で同じEARを展開しようとすると、私はこののろわれたスタックトレースが発生しました異なるやりかたで、痩せた戦争を構築し、すべての瓶をEARライブラリとして含めることはできましたが、うまくいかなかったのです。
このようなクラスローディングの問題を経験したことはありません...
ありがとうございます。

答えて

0

Weblogicがライブラリからクラスを見つけられないという同様の問題がありました。クラスパスに既に存在する別のバージョンのライブラリを実際に使用していたからです。

まず、(WEB-INF/weblogic.xml)もしそうなら、あなたがたWebLogicデプロイメント記述子ファイル内の特定のパッケージのためのアプリに埋め込まれたバージョンを使用するようにWebLogicを伝えることができ、それはすでにどこかにehcacheの異なるバージョンを持っていないことを確認してください。

<wls:weblogic-web-app ...> 
    ... 
    <wls:container-descriptor> 
     <wls:prefer-application-packages> 
      <wls:package-name>net.sf.ehcache</wls:package-name> 
     </wls:prefer-application-packages> 
    </wls:container-descriptor> 
</wls:weblogic-web-app> 

https://docs.oracle.com/cd/E24329_01/web.1211/e21049/weblogic_xml.htm#WBAPP663

を参照してください。
関連する問題