Return-Path: Delivered-To: apmail-geronimo-user-archive@www.apache.org Received: (qmail 85385 invoked from network); 28 May 2008 06:47:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 28 May 2008 06:47:18 -0000 Received: (qmail 51171 invoked by uid 500); 28 May 2008 06:47:19 -0000 Delivered-To: apmail-geronimo-user-archive@geronimo.apache.org Received: (qmail 51141 invoked by uid 500); 28 May 2008 06:47:19 -0000 Mailing-List: contact user-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: user@geronimo.apache.org List-Id: Delivered-To: mailing list user@geronimo.apache.org Received: (qmail 51129 invoked by uid 99); 28 May 2008 06:47:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 May 2008 23:47:19 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [98.136.44.55] (HELO smtp110.prem.mail.sp1.yahoo.com) (98.136.44.55) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 28 May 2008 06:46:31 +0000 Received: (qmail 78399 invoked from network); 28 May 2008 06:46:45 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Received:X-YMail-OSG:X-Yahoo-Newman-Property:Message-Id:From:To:In-Reply-To:Content-Type:Content-Transfer-Encoding:Mime-Version:Subject:Date:References:X-Mailer; b=sGNwveI7KO4DdS7ljzL5drxasYTlLas/YGecjXSszNJe7p9GK8jIcEoS7qqa60tm09LXhcXrXiRd8+PMCvmypHnhWedQjeI7uFc/i6Sbflyo58GSm8/l6EXLy/Oq+If9mLrsZZdkqEdShsdfWZEus4JfaIxxrAdxmeOCsgCVHBw= ; Received: from unknown (HELO ?10.11.55.42?) (david_jencks@63.105.20.225 with plain) by smtp110.prem.mail.sp1.yahoo.com with SMTP; 28 May 2008 06:46:45 -0000 X-YMail-OSG: paLVwJkVM1kq00NF_ue3Vw_FQ1DjGQWIyfTcYy3Unk.7ighHEHPO7kBLJJVWJ_iMeGhtiKRCQ.miIvEid.8kF5UturjlF8BGUXnOEA-- X-Yahoo-Newman-Property: ymail-3 Message-Id: <6F4C8C81-4F48-4C79-B537-415710DE1BE6@yahoo.com> From: David Jencks To: user@geronimo.apache.org In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v919.2) Subject: Re: EAR can't find WEB-INF/classes or WEB-INF/lib Date: Tue, 27 May 2008 23:46:43 -0700 References: <693906C3-C55F-4AFF-97EC-69F48A8FE317@yahoo.com> <76F4FB72-29C3-43B8-9760-AA2FB62FF149@yahoo.com> <6B88C531-A808-4325-A393-459A45A9AC4F@yahoo.com> X-Mailer: Apple Mail (2.919.2) X-Virus-Checked: Checked by ClamAV on apache.org On May 27, 2008, at 7:32 PM, Andrew Thorburn wrote: > Encountered another part of the problem: > > I can package the frontend stuff (that would normally be found in > WAR/WEB-INF/classes into a JAR, put that in EAR/lib, and everything > works. However, my boss doesn't like that. Why not? that's basically the only arrangement that will work.... It sounds a bit like the dependencies between the jars you are dealing with are somewhat mixed up. In my experience when this kind of problem is straightened out everyone finds it much easier to make progress and makes fewer mistakes. > > > But if I leave the classes in WAR/WEB-INF, then I get a "Class Not > Found" exception from one of the libs in EAR/lib, which is trying to > load, via reflection, one of the classes in the frontend. I > understand why that doesn't work, thanks to your explanation of the > classloader. > > Obviously, if I move the libs from EAR/lib to EAR/WAR/WEB-INF/lib, > then all is good. Except that my MDB can't find the libs anymore. > Bugger. > > This problem will occur if I duplicate the libs, yes? I'm reasonably > sure it did last time. I'd expect so. > > > Further, if I set "reverse-classloading" to true, then I'm bound to > get all sorts of problems, and if my MDB tries to access a static > method (say, getInstance() for a class where that pattern is used), > it will, essentially, call a *different* method to the one the > classes in the WAR would call, yes? And return a different object. > Not cool. I think that would produce more problems that it would solve. > > > Can't really go around moving things, as the logging class (that's > basically essential) is in the same package as the reflection-using > class. > > Any ideas here apart from "Don't use Reflection", and "Don't call > from libs to main"? > > Now, I think the solution I want is to have the libs able to access > the frontend (in WEB-INF), while at the same time being access > exactly the same libs from my MDB, and I don't think that's possible > in Geronimo? Not at present. We could add a "single classloader per ear" flag fairly easily but it probably won't get into a release for a month or two. I'd start by asking why you can't straighten out the dependencies. thanks david jencks