Приложение Spring на Tomcat не находит класс в weblogic.jar

Я пытаюсь развернуть приложение на tomcat 7, которое использует spring 3.1.1 и weblogic 10.3, но я продолжаю получать исключение 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 присутствует в 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

это происходит, когда фабрика bean-компонентов Spring пытается создать этот bean-компонент в моем root-context.xml

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

Я думал, что это может быть какая-то проблема с путями к классам, но я какое-то время безуспешно играл с MANIFEST.MF веб-приложения и этими проблемными банками (spring & weblogic). Любые идеи о том, что может быть причиной этого?


person Jzop    schedule 29.04.2013    source источник


Ответы (1)


Я считаю, что использование weblogic.jar непосредственно в пути к классам не работает. Вам нужно создать wlfullclient.jar и поместить его в WEB-INF/lib.

Следуйте приведенным здесь инструкциям: http://middlewaremagic.com/weblogic/?p=558.

person xsreality    schedule 17.05.2013