Hi ; Axis2 service classloaders work in child first scenario by default , what that mean is it load classes from child class loader before loading from parent class loader, so according to ur picture , if there is some class in foo.jar inside myService.aar then for the service it will use class in myService.aar/lib/foo.jar not from web-inf/lib/foo.jar.
So you dont need to do anything to get this is done , by default Axis2 does the class loading as you require. Arnaud Blandin wrote: >Hi, > >I am sure you have been discussing about this problem in the past but I >couldn't find the relevant thread. >I apologize in advance if I am describing a known problem. > >I am currently building a service on top of AXIS2. This service is using >classes that are conflicting with the classes distributed with the Axis2 >web app. >The service is deployed as an aar file in the service directory of the >axis2 web application. > >My question is simple: how can I ensure that the ClassLoader tries to >load first the classes packaged in my lib directory from the aar instead >of looking at the 'lib' directory of the axis2 webapp. > >|_WEB-INF > |_lib > |_foo.jar > |_services > |_myService.aar > |_lib > |_foo.jar > >I want to ensure that my service looks first for the >myService.aar/lib/foo.jar >As a workaround I tried to set the following with no luck before >invoking the Skeleton: > >ClassLoader previous = Thread.currentThread().getContextClassLoader(); >ClassLoader loader = msgContext.getAxisService().getClassLoader(); >Thread.currentThread().setContextClassLoader(loader); > >Thanks, > >Arnaud > > > > > -- Thanks, Deepal ................................................................ ~Future is Open~
