Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 30999 invoked from network); 7 Sep 2005 02:47:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 7 Sep 2005 02:47:01 -0000 Received: (qmail 95721 invoked by uid 500); 7 Sep 2005 02:47:00 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 95677 invoked by uid 500); 7 Sep 2005 02:47:00 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Reply-To: "Derby Development" Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 95663 invoked by uid 99); 7 Sep 2005 02:47:00 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Sep 2005 19:47:00 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [209.233.18.245] (HELO buttons.boynes.com) (209.233.18.245) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Sep 2005 19:47:12 -0700 Received: from [192.168.37.199] (unknown [192.168.37.199]) by buttons.boynes.com (Postfix) with ESMTP id 83D491A5A1 for ; Tue, 6 Sep 2005 19:46:57 -0700 (PDT) Message-ID: <431E54A0.3010004@apache.org> Date: Tue, 06 Sep 2005 19:46:56 -0700 From: Jeremy Boynes User-Agent: Mozilla Thunderbird 1.0.6-1.1.fc3 (X11/20050720) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Derby Development Subject: Re: Sharing code References: <43178204.1090107@sun.com> <431B17A4.1090409@apache.org> <431BC56E.70603@debrunners.com> <431CAA57.80106@apache.org> <431DB955.8010106@debrunners.com> In-Reply-To: <431DB955.8010106@debrunners.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Daniel John Debrunner wrote: > > You or I might not, but I'm assuming the worst case where the end-user > has no idea about classpath, or maybe even Java. They have just > installed two applications, one which uses Derby client at version X and > one which uses Derby embedded at version Y. > I would hope for that kind of environment the installer for each application took care of separating the classpaths so the user was never exposed to them. After all one could be using embedded X and the other embedded Y with all sorts of unexpected consequences. That, and nasty platform issues like the 256 char length, are why most applications have evolved away from using the environment to solutions like extension directories. In many cases, applications /want/ to be able to load different versions concurrently, not just application servers and frameworks like Spring or OSGI but also build tools like Ant or Maven and development tools like Eclipse. None of these are able to use the traditional classpath alone. Clarity in which jar is providing which class (once and only once) greatly simplifies things. Users can use the capabilities of the application (such as classloader hierarchies and ordering) to ensure that the correct version is used for each component without risk of cross-contamination between functions. -- Jeremy