Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 47079 invoked from network); 29 Apr 2005 21:40:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 29 Apr 2005 21:40:38 -0000 Received: (qmail 56482 invoked by uid 500); 29 Apr 2005 21:41:59 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 56443 invoked by uid 500); 29 Apr 2005 21:41:59 -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 56428 invoked by uid 99); 29 Apr 2005 21:41:59 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from nwkea-mail-2.sun.com (HELO nwkea-mail-2.sun.com) (192.18.42.14) by apache.org (qpsmtpd/0.28) with ESMTP; Fri, 29 Apr 2005 14:41:59 -0700 Received: from phys-bur-2 ([129.148.9.73]) by nwkea-mail-2.sun.com (8.12.10/8.12.9) with ESMTP id j3TLeZQ1001768 for ; Fri, 29 Apr 2005 14:40:35 -0700 (PDT) Received: from conversion-daemon.bur-mail1.east.sun.com by bur-mail1.east.sun.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) id <0IFQ00J019G02F@bur-mail1.east.sun.com> (original mail from Lance.Andersen@Sun.COM) for derby-dev@db.apache.org; Fri, 29 Apr 2005 17:40:35 -0400 (EDT) Received: from [127.0.0.1] (vpn-129-150-65-254.East.Sun.COM [129.150.65.254]) by bur-mail1.east.sun.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) with ESMTPA id <0IFQ008KV9JL0U@bur-mail1.east.sun.com> for derby-dev@db.apache.org; Fri, 29 Apr 2005 17:40:34 -0400 (EDT) Date: Fri, 29 Apr 2005 17:40:33 -0400 From: "Lance J. Andersen" Subject: Re: Use of 3rd party libraries In-reply-to: <4272A5C2.6080400@sun.com> To: Derby Development Message-id: <4272A9D1.8000402@sun.com> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT X-Accept-Language: en-us, en User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) References: <4271BDBA.6050700@apache.org> <427269DF.7010009@sun.com> <42727A00.6070805@apache.org> <42727D24.40002@sun.com> <42727E2B.1090204@sun.com> <42727FD7.40702@apache.org> <42729BD2.6000803@sun.com> <4272A5C2.6080400@sun.com> X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N David Van Couvering wrote: > A quick look at java.ext.dirs seems to indicate the intention for this > is for packages with the root javax.*, which are specifically defined > as extensions of J2SE. Is this really the right place to put things > like third-party JAR files? I believe it is one option (but as you indicate, not the only option) and the J2EE 1.4 specs now allow for this . http://java.sun.com/j2se/1.4.2/docs/guide/extensions/extensions.html is a good source of info on this topic . > > The approach I have seen is you write your own classloader that then > uses a property to load classes from jar files stored in a particular > directory. If I remember right, BEA's app server used to do this, > quite nice. J2EE 1.4 added the optional package support feature to make things easier to support things such as frameworks. Previously it was a nightmare dealing with this. I know we always dump the JDBC drivers into the appservers configured lib/ext directory. Regards Lance > > David > > Lance J. Andersen wrote: > >> That is a very good point. You could also use lib/ext as well and >> set the property java.ext.dirs property accordingly >> >> Jeremy Boynes wrote: >> >>> Lance J. Andersen wrote: >>> >>>> There is also an issue on windows of a classpath size. I know i >>>> have been burnt by this before. >>>> >>> >>> I think most projects of any size, commercial or open source, have >>> moved away from using raw CLASSPATH and use custom classloading. >>> >>> For example, a common technique is to have a "lib" directory where >>> all files get added into a single classloader - not perfect >>> especially when you may need multiple versions of a library but it >>> works for many applications. >>> >>> There are also things like the uberjar project at Codehaus for >>> bundling things together. >>> >>> -- >>> Jeremy >> >> >>