【问题标题】:Ehcache + Spring 4 + Weblogic 12c = ClassNotFoundExceptionEhcache + Spring 4 + Weblogic 12c = ClassNotFoundException
【发布时间】:2016-06-29 03:06:48
【问题描述】:

我想我在 stackoverflow 上浏览了有关此问题的所有内容,但我无法解决。
假设:

  • 我尝试了 4.2.5、4.2.6、4.3.0 春季版本
  • 我尝试了 2.9.0 到最新的 2.10.2.2.21 ehcache 版本
  • 我的 pom(以及由此产生的战争)中有 spring-context、spring-context-support、ehcache jars
  • 我正在部署一个包含 WAR 的 EAR,包括在其 /WEB-INF/lib 目录中的所有所需的上述 jars
  • 我的 EAR 在我的 3 个开发环境(Windows 7、OSX 和 Ubuntu 上的 eclipse + Weblogic 12c)上完美运行

当我尝试在基于 Weblogic 12.2.1.0.0 的测试环境中部署相同的 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)

我还尝试以不同的方式打包我的 EAR,构建了一个瘦战争并将所有 jar 包含为 EAR 库,但它不起作用。
我从未遇到过这样的类加载问题...
提前致谢。

【问题讨论】:

    标签: spring ehcache classnotfoundexception


    【解决方案1】:

    我遇到了类似的问题,Weblogic 没有从库中找到类,因为它实际上正在使用该库的另一个版本,该库已经在其类路径中。

    首先,确保它在某处没有不同版本的 ehCache,如果有,您可以告诉 Weblogic 使用嵌入在您的应用程序中的版本用于您的 WebLogic 部署描述符文件中的特定包 (WEB-INF/weblogic.xml) :

    <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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-03
      相关资源
      最近更新 更多