From harmony-dev-return-6594-apmail-incubator-harmony-dev-archive=incubator.apache.org@incubator.apache.org Fri Apr 14 16:17:04 2006 Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 15752 invoked from network); 14 Apr 2006 16:17:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 14 Apr 2006 16:17:03 -0000 Received: (qmail 67026 invoked by uid 500); 14 Apr 2006 16:16:59 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 66730 invoked by uid 500); 14 Apr 2006 16:16:57 -0000 Mailing-List: contact harmony-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-dev@incubator.apache.org Received: (qmail 66719 invoked by uid 99); 14 Apr 2006 16:16:57 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Apr 2006 09:16:57 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [194.8.194.66] (HELO smtp3.netcologne.de) (194.8.194.66) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Apr 2006 09:16:56 -0700 Received: from localhost (netmail1.netcologne.de [194.8.194.21]) by smtp3.netcologne.de (Postfix) with ESMTP id BCEA4674FC for ; Fri, 14 Apr 2006 18:16:35 +0200 (CEST) Received: from p54A00838.dip0.t-ipconnect.de (p54A00838.dip0.t-ipconnect.de [84.160.8.56]) by netmail1.netcologne.de (IMP) with HTTP; Fri, 14 Apr 2006 18:16:30 +0200 Message-ID: <1145031390.443fcade20ca3@netmail1.netcologne.de> Date: Fri, 14 Apr 2006 18:16:30 +0200 From: "=?ISO-8859-1?B?U/ZyZW4=?= =?ISO-8859-1?B?U3RyYd9mZWxk?=" To: harmony-dev@incubator.apache.org Subject: Re: External libraries in the bootclasspath MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: NetCologne NetMail (IMP) 4.0-cvs X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Paulex Yang schrieb: of course I trust every apache library blind to be downward compatible, but not down to 0.0.1 pre Alpha rc1 ;) > 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 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 >>> /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 >> >> > > --------------------------------------------------------------------- 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