java - Tomcat 上的 Spring 应用程序在 weblogic.jar 中找不到类

标签 java tomcat7 noclassdeffounderror weblogic-10.x spring-3

我正在尝试在使用 spring 3.1.1 和 weblogic 10.3 的 tomcat 7 上部署一个应用程序,但我不断收到 NoClassDef 异常:

java.lang.NoClassDefFoundError: Could not initialize class weblogic.jndi.Environment at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506) ~[spring-beans-3.1.1.RELEASE.jar:3.1.1.RELEASE]

我已经仔细检查过,weblogic jar 存在于 WEB-INF/lib 上,并且它确实包含所述类:

jar tf WEB-INF/lib/weblogic.jar | grep /Environment.class
weblogic/cluster/messaging/internal/Environment.class
weblogic/jndi/Environment.class
org/mozilla/javascript/tools/shell/Environment.class

当 spring bean 工厂尝试在我的 root-context.xml 上构建此 bean 时,就会发生这种情况

<beans:bean
    id="jmsConnectionFactory"
    class="org.springframework.jndi.JndiObjectFactoryBean"
    p:jndiTemplate-ref="jndiTemplate"
    p:jndiName="weblogic.jms.ConnectionFactory" />

我认为这可能是一些类路径问题,但我已经在使用 web 应用程序的 MANIFEST.MF 和这个有问题的 jars(spring 和 weblogic)一段时间了,没有任何运气。 关于造成这种情况的原因有什么想法吗?

最佳答案

我相信直接在类路径中使用weblogic.jar是行不通的。您需要创建 wlfullclient.jar 并将其放入 WEB-INF/lib 中。

按照此处给出的说明进行操作:http://middlewaremagic.com/weblogic/?p=558

关于java - Tomcat 上的 Spring 应用程序在 weblogic.jar 中找不到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16282779/

相关文章:

android - 错误 : java. lang.NoClassDefFoundError : android. support.v4.content.LocalBroadcastManager

java - 作业调度 - 如何为基于 Spring MVC 的应用程序选择最好的作业调度

java - java中如何限制用户输入4位pin

Java NoClassDefFoundError

java - 在运行时修改Tomcat中的属性文件

eclipse - Tomcat7忙报错端口

java - 在 Android Dalvik VM 中加载 java.util.logging.LogManager 的类初始化问题

java - 如何将firestore中的日期时间存储与当前日期时间进行比较?

java - Spring - java.lang.IllegalArgumentException

tomcat - Tomcat为什么要有关闭端口?