harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Neverov" <ilya.neve...@gmail.com>
Subject Re: External libraries in the bootclasspath (was: Version Conflict with bcel?)
Date Fri, 14 Apr 2006 06:13:28 GMT
Hi,

I think we can follow standardized way in this case.

 On 4/11/06, Stepan Mishura <stepan.mishura@gmail.com> wrote:
> There are no other opinions but I believe this issue needs broader attention
> so I'd like to start another thread.
>
> Harmony has a number of external libraries on the bootclasspath: ICU4C,
> Xerces/Xalan. What if an app. uses the same library but another version?
> What if library versions are not compatible? The possible way to resolve the
> issue to perform repackaging (i.e. put everything external under
> org.apache.harmony namespace, however I'm not sure that this applicable for
> ICU4C library).
>
> Are there other options?

Since J2SE 1.4 SUN introduced "Endorsed Standards Override Mechanism"
for helping users to survive with rapidly evolving versions of popular
libraries. This mechanism allows overriding implementation of some
packages included in JRE bundle; the list of packages can be found at
[1].

Moreover, user can install external library providing version of
related public API which is newer than API included in given JRE and
this newer version of API becomes available for applications instead
of the version bundled with the JRE. This is intended for supporting
external API-s which are standardized outside of JCP, like CORBA or
SAX and DOM for XML processing. You can run an app on J2SE 1.4 with
DOM Level 3 API instead of DOM Level 2 bundled with jdk 1.4.

It's quite easy-to-use mechanism – just put library's jar-files to the
<java-home>/lib/endorsed directory or point to their location with the
system property 'java.endorsed.dirs'. I suspect that it's easy for
implementation also. Looks like that putting referred jar-files before
system jar-files in bootclasspath would be enough to have such magic
:) I'm not sure that any certified JRE does check that provided
jar-files contain classes only related to the list of packages in [1]
so we would be compatible with them in this place.

[1]  http://java.sun.com/j2se/1.5.0/docs/guide/standards/index.html

> Thanks,
> Stepan Mishura
> Intel Middleware Products Division

Thank you.
Ilya Neverov,
Intel Middleware Products Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message