当前位置: 首页 > 知识库问答 >
问题:

ehcache Spring 4 Weblogic 12c = ClassNotFoundException

马欣德
2023-03-14

我想我浏览了stackoverflow上关于这个问题的所有东西,但是我解决不了。< br >假设:

  • 我尝试了spring版本的4.2.5、4.2-6和4.3.0
  • 我尝试了2.9.0到最后的2.10.2.2.21 ehcache版本。
  • 我的pom(以及由此产生的战争)中有spring上下文、spring上下文支持、ehcache JAR
  • 我正在部署一个包含WAR的EAR,包括在其/WEB-INF/lib目录中,所有这些JAR都是必需的。
  • 我的EAR在我的3个开发环境(Windows7、OSX和Ubuntu上的EclipseWebLogic12c)上工作得非常好

当我尝试在基于Weblogic 12.2.1.0.0的测试环境中部署同一个EAR时,我遇到了这个该死的stacktrace:

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,构建一个瘦战争并将所有jars包含为EAR库,但它不起作用。
我从未经历过这样的类加载问题...
提前谢谢。

共有1个答案

公良鸿光
2023-03-14

我有一个类似的问题,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

 类似资料:
  • 问题内容: 我使用Java 8启动了一个Maven项目,并希望将其迁移到Java9。与此同时,我也从Eclipse Neon EE迁移到Eclipse Oxygen EE。(重新安装了JFX SDK)。尽管Eclipse工作区没有显示任何错误;一旦尝试编译并运行与Java 8中运行完全相同的程序,我将得到以下异常: 异常正在运行的应用程序application.Main 我现在已经多次重建了该项目

  • 问题内容: 我经历了这个线程,什么原因以及NoClassDefFoundError和ClassNotFoundException之间有什么区别? 这是线程中具有最大ups的ans之一: NoClassDefFoundError :“因此,似乎 在成功编译源代码时发生 了NoClassDefFoundError ,但是在运行时未找到所需的类文件 。这可能是在分发或生产JAR文件时可能会发生某些情况,

  • 问题内容: 我正在用android开发游戏,但遇到了问题。我的游戏在另一台计算机上可以正常运行,因此我将该项目委托给svn服务器,以便在新的Windows 7 64位计算机上使用。我在具有颠覆性的日食的新计算机上签了字。显然,我在构建路径方面存在一些问题,因此我修复了这些问题,并且该项目没有错误。当我在运行android 2.3.3的模拟器上运行它时,它在启动时崩溃,主要活动为ClassNotFo

  • 问题内容: 我正在从我的一个类中执行Java二进制文件,并且抛出ClassNotFoundException: Geoline类位于/home/geo/Geoline.java。关键是,无论我位于文件系统中的哪个位置,如果我手动执行相同的命令,都将执行该类。使用Runtime.getRuntime()。exec执行二进制文件时,为什么不会发生相同的事情? 编辑:这是在verbose标记上生成的输出

  • 问题内容: 下面的代码使用Guice 2.0产生错误。使用Guice 1.0,一切都很好。JDK是Java 6更新15。 错误是: 可能是什么问题? 问题答案: 您错过了在类路径中将依赖项jar包含在类中的情况。

  • 问题内容: 我正在IntelliJ中使用Maven。我有一类使用: pom.xml文件中的Maven依赖项: 我可以做并成功建立。但是当我尝试运行它时,我得到: 错误:java.lang.ClassNotFoundException:org.json.JSONObject 我在这里还有什么想念的吗?谢谢! 问题答案: 将json jar 添加到您的类路径 或使用 或将其添加到您的Maven pom

  • 问题内容: 我正在使用Spring 3.0开发一个webapp,处于休眠状态。当我尝试在WAS 7.0上部署我的应用程序时,它给了我错误- 无法加载侦听器:org.springframework.web.context.ContextLoaderListener]:java.lang.ClassNotFoundException: 这是我的网络应用程序的外观: 引发的异常如下: 那么,web.xm

  • 问题内容: 我正在尝试迁移到androidx。我在Android Studio中使用了迁移工具。当我执行此操作时,我在运行应用程序时得到以下堆栈跟踪。 例外是正确的。android.support.v4.content.FileProvider在我的应用中不存在。但是androidx.core.content.FileProvider包含在我的应用程序中。最大的问题是为什么它要加载旧版本的File