[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