Thank for that Karl, I finally got round to trying it and it worked perfectly.
Cheers
Bob
On 6/30/08, Karl Pauls <[EMAIL PROTECTED]> wrote:
> Try to set the context classloader to the classloader of your bundle
> before the call that fails i.e.,
>
> ClassLoader tccl = Thread.currentThread().getContextClassLoader();
> try
> {
> Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
> // call to code that instigates the classloader
> }
> finally
> {
> Thread.currentThread().setContextClassLoader(tccl);
> }
>
> Notice that in this case your bundle needs to import the missing
> package as well (unless it is provided inside the bundle).
>
> regards,
>
> Karl
>
>
> On Mon, Jun 30, 2008 at 6:08 PM, Richard Martin
> <[EMAIL PROTECTED]> wrote:
> > Hello,
> >
> > I am trying to wrap a project that has a huge number of dependent
> > jars. Jars that only this project will use so I took to using BND and
> > including them all. This takes a bit of time to build each time, like
> > 5 minutes but it does give me a nice single drop in jar.
> >
> > The problem I have is that the things I am wrapping up are cfx web
> > services. I have never used this stuff or really seen the code I just
> > have the jars. I have been stepping through what goes on and it seems
> > to be a classloader issue:
> >
> > Basically javax.xml.ws.spi.Provider calls find on FactoryFinder
> > passing in a property to look for. This property is
> > "javax.xml.ws.spi.Provider".
> >
> > Finder then uses this property and creates a classloader using the
> > current thread, it then generates a string
> > ("META-INF/services/javax.xml.ws.spi") which is a file in my wrapped
> > jar that contains the location of the cfx ProviderImpl. This location
> > is then used to load the class with the classloader reference it has
> > and return an instance. If this file can't be found it looks for a
> > system property of the same name.
> >
> > The problem I am having is this code cannot seem to find either the
> > file in services folder, or if I set the system property manually it
> > then can't find the class. I'm guessing this is some classloader
> > issue, everything works fine if I run this project not as a plugin. I
> > hope some of that made sense.
> >
> > Is there something I can do in Felix or my wrapped jar to help this
> > code find the correct classpath.
> >
> > Cheers
> > Bob
> >
>
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
>
>
> --
> Karl Pauls
> [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]