ImageJ Plugin dependencies

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

ImageJ Plugin dependencies

jumpfunky
Dear List,

I've developed two plugins (Plugin A and Plugin B) which both depending on different version of a library (library C).
Plugin A depends on version 1 of library C (added to build path of plugin a) and Plugin B depends on version 2 of library C  (added to build path of plugin b).

Both Plugins work fine if the other is not installed. But if I install both plugins, Plugin B doesn't find some methods of library C because it try to use the version 1 of library C.

Any Ideas?

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: ImageJ Plugin dependencies

ctrueden
Hi Thorsten,

> Both Plugins work fine if the other is not installed. But if I install
> both plugins, Plugin B doesn't find some methods of library C because
> it try to use the version 1 of library C.

Is version 2 of library C backwards compatible with version 1? If so, then
just make sure version 2 of library C is the only version available on the
runtime classpath, and both Plugin A and Plugin B will use it.

If version 2 of library C is *not* backwards compatible with version 1,
then it becomes much more difficult. There are solutions like OSGi (which
play class loader games to load multiple versions of Java classes in
separate isolated spaces), but they are much more complicated, and ImageJ
is not currently capable of using them.

Regards,
Curtis


On Tue, Mar 5, 2013 at 7:04 AM, Thorsten Wagner <
[hidden email]> wrote:

> Dear List,
>
> I've developed two plugins (Plugin A and Plugin B) which both depending on
> different version of a library (library C).
> Plugin A depends on version 1 of library C (added to build path of plugin
> a) and Plugin B depends on version 2 of library C  (added to build path of
> plugin b).
>
> Both Plugins work fine if the other is not installed. But if I install
> both plugins, Plugin B doesn't find some methods of library C because it
> try to use the version 1 of library C.
>
> Any Ideas?
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html