[kepler-dev] Kepler + conflicting jar
David Welker
david.v.welker at gmail.com
Wed Mar 11 09:04:29 PDT 2009
Hi Michal,
There are three possible solutions here.
(1) One is to simply put the jar you prefer in the lib directory of the
module you are developing. This will work fine as long as the jar is
backwards compatible, as they are most of the time. Of course, keep in
mind that not only your actor, but all of Kepler will make use of the
jar you prefer rather than the old jar.
Keep in mind that if Kepler does not work properly with your jar
upgrade, you might consider judiciously using overriding parts of Kepler
to make it compatible.
Ultimately, such overrides, if they were sensible, could possibly be
folded back into the core of Kepler.
(2) You could use a separate class loader for your module. This allows
multiple versions of the same jar to be active simultaneously for the
same system. The instructions for doing so can be found here:
https://kepler-project.org/developers/teams/build/documentation/build-system-instructions#using-a-separate-class
Of the two solutions, as a general matter, I would probably be inclined
to try approach (1) first and only use approach (2) if that didn't work,
since there are some limitations associated with approach (2) which are
explained in the documentation.
David
> Hello all,
>
> I have encountered an issue related to default Kepler jars.
>
> We are using, in our project, following jars:
>
> jdom-1.0.jar (1.0)
> commons-httpclient-3.1-rc1.jar
>
> on the other hand, Kepler is based on:
>
> ./kepler-1.0-jar-tag/lib/jar/opendap/commons-httpclient-3.0.1.jar
> ./kepler-1.0-jar-tag/lib/jar/commons-httpclient-2.0-rc2.jar
> ./kepler-1.0-jar-tag/lib/jar/jdom.jar (1.0beta10)
>
> these classes imply conflicts in actor's code. I assume that Kepler
> default libraries are loaded in a first place.
>
> Question follows: is it possible to use our version of libraries without
> removing Kepler one?
>
> Is it possible to create custom class loader and change class loading
> order for particular actor?
>
> In fact we have few more jar files that conflict with our actors:
> cog-jglobus.jar, cryptix-asn1.jar, jce-jdk13-117.jar are also on the list.
>
> In order to get our actors working we have to replace all mentioned jars
> with version that are used by actors.
>
> Thanks for any suggestions
>
> Cheers
>
> Michal
>
>
More information about the Kepler-dev
mailing list