On Mon, Sep 06, 2004 at 02:55:13PM -0700, Garret Wilson wrote:
: I was planning on using the same set of libraries for multiple web : apps---the jar in question had more than just servlets for a single web app.
There's no need to do this, really. Webapps are supposed to be self-contained. My inner C++ developer says I should share common code, similar to shared libraries; but C and C++ != Java. =) I tend to leave common/lib/ alone, so only the Tomcat-provided JARs exist there.
I just downloaded an electronic copy of _Professional Apache Tomcat 5_, which has a wonderful "Chapter 9: Class Loaders." It turns out that there's one classloader for common/lib and common/classes, and another for shared/lib and shared/classes. My common routines apparently should go into the latter pair---the former pair are intended for API libraries like jsp-api.jar and jsf-api.jar.
My servlets, though, should go in WEB-INF/lib and WEB-INF/classes---which use yet another classloader, the same one used by JSPs. I transferred my servlet jar to WEB-INF/lib, and everything worked like a charm.
I know that I reported that I had already tried this. I thought I did. Then again, there's so many /lib directories running around that maybe I picked the wrong one when I was trying 1,001 possible solutions.
Thanks so much for your and George's feedback, pointing me in the right direction. I definitely also recommend _Professional Apache Tomcat 5_.
Cheers,
Garret
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
