Simone and Robert
i dont know how many times Ive been bitten by CNFE by Spring Injector http://www.grepcode.com/search/?query=org/springframework/context/ApplicationContextAware reveals ApplicationContextAware is located in spring-context-3.x.jar but spring-core-3.x.jar is a dependency of spring-context so add spring-core-3.x.jar to distro Robert is right in that Injector will *always* find a class thats in the distro (.aar) but you *should* be able to flip classLoaders and have the new CL find it in its classpath... Nota Bene:same CNFE error happens when guice implements Spring injector IMHO this is incorrect behaviour and the Injector *should* implement the requested CL to locate all requested classes I've looked into this *problem* and I'll post findings and workaround on maven-dev Obrigado, Martin > Date: Tue, 15 Oct 2013 07:50:08 -0300 > Subject: Re: Axis2 / Spring3 / .aar file > From: robertlazar...@gmail.com > To: java-user@axis.apache.org > > On Tue, Oct 15, 2013 at 7:03 AM, Simone <m...@gmx.de> wrote: > > Hi, > > > > I try to deploy a webservice with axis2 and spring 3.2. > > > > I wrote a SpringInit: > > ClassLoader classLoader = service.getClassLoader(); > > ClassPathXmlApplicationContext appCtx = new > > ClassPathXmlApplicationContext( > > new String[] { "application.xml" }, false); > > appCtx.setClassLoader(classLoader); > > appCtx.refresh(); > > > > Added following lines to my application.xml > > > > <bean id="applicationContext" > > class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" > > /> > > <bean id="springAwareService" > > class="com.ids.dam.impl.DAMServiceSkeleton"> > > </bean> > > > > and this is my services.xml > > > > <service name="SpringInit" class="com.ids.dam.impl.SpringInit"> > > <description> > > This web service initializes Spring. > > </description> > > <parameter name="ServiceClass">com.ids.dam.impl.SpringInit > > </parameter> > > <parameter name="ServiceTCCL">composite</parameter> > > <parameter name="load-on-startup">true</parameter> > > <operation name="sprintInit"> > > <messageReceiver > > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" /> > > </operation> > > </service> > > > > . > > > > At the start of tomcat I get the following error: > > > > java.lang.NoClassDefFoundError: > > org/springframework/context/ApplicationContextAware > > > > > > > > But all spring jars exists in .aar/lib folder. > > > > Please help :-) > > > > Kind regards, SImone > > Did you do this step? > > "move the axis2-spring-*.jar from WEB-INF/lib to inside the AAR, as > shown below - it will not work otherwise." > > Make sure that jar is only in the aar. Also, try expanding your > springframework jar to verify > org/springframework/context/ApplicationContextAware is inside. A quick > look at the springframework docs indicates that the class is still in > the distro, but we need to double check. > > - R > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org > For additional commands, e-mail: java-user-h...@axis.apache.org >