harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paulex Yang <paulex.y...@gmail.com>
Subject Re: External libraries in the bootclasspath
Date Fri, 14 Apr 2006 08:51:59 GMT
Soeren Strassfeld wrote:
> Ilya Neverov schrieb:
>
> Hi Ilya,
>
> just followed your link, as I understand it, the endorsed mechanism is 
> only for API Classes, which
> are developed outside the JCP. This contains the org.w3c, org.xml and 
> the CORBA/omg packages, but
> not internally used packages. I guess sun in some way trusts those 
> library vendors to be downward
> compatible, and so not break the API.
I guess Harmony also trusts the introduced external dependent classlib.;)
> And as you said, the endorsed.dir is only for newer versions of 
> libraries (the docs explicitly
> points to this as well), so Applications, which depend on older 
> versions, would still fail.
>
Jar versioning is a difficult issue in Java world (in fact more 
significant on Java EE world), maybe the official solution(I mean, the 
standard) is JSR-277, but we probably need to wait for Java 7 to provide 
the spec and RI. Not sure if other component mechanism like OSGi has 
provided good idea on this issue?
> Thanks,
> Soeren
>
>> 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
>>
>>
>>   
>
>
> ---------------------------------------------------------------------
> 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
>
>


-- 
Paulex Yang
China Software Development Lab
IBM



---------------------------------------------------------------------
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