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

时间:2013-04-29 15:43:19

标签: 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]

我已经仔细检查过了,WEB-INF / lib上有weblogic jar,它确实包含了这个类:

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" />

我认为这可能是一些类路径问题,但我一直在玩webapp的MANIFEST.MF和这个有问题的jar(spring&amp; weblogic)一段时间了,没有任何运气。 关于可能导致这种情况的任何想法?

1 个答案:

答案 0 :(得分:0)

我认为直接在类路径中使用weblogic.jar不起作用。您需要创建wlfullclient.jar并将其放入WEB-INF/lib

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