tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Ruthenbeck <>
Subject Re: Best practice question: where to place project libraries
Date Wed, 11 Feb 2004 02:45:20 GMT
At 04:49 PM 2/10/2004, you wrote:
>>As a general rule, strive to keep your webapp self-contained and 
>>autonomous with only J2EE-standard dependencies (things like JNDI 
>>objects that are configurable in every container).  Unless there's a 
>>reason not to (JDBC drivers is one common one), package your own 
>>dependent libraries with your app -- it frees you from versioning 
>>problems (maintaining the correct library versions for your app over 
>>time) and makes migration between containers much easier.
>Thanks. You bring up an interesting aspect of container configuration: 
>database drivers. It would be interesting to extend the 
>META-INF/context.xml tomcat convention to include support for the 
>installation of 3rd party libraries. E.g., libraries placed in 
>META-INF/server/lib will be placed into the similiar tomcat directory on 
>deployment. Same thing for common/lib.

Interesting idea.  It could be useful for some people (especially those 
with simple setups), but I think just about every administrator out there 
would shutter at the thought of some random webApp modifying the 
libraries that all other webApps use.  That and if you need to support 
multiple containers, you're still SOL.

I haven't used the META-INF/context.xml convention, so I'm not too 
familiar with it.  Conceptually, it's questionable whether a webapp 
should be able to modify container configuration ... even if it's just 
configuration for that one app.  Practically it may be useful, but it's a 
bluring of the lines of responsibility between the development and 
deployment -- two things which really should be separate.


PS: Kinda funny how only us West Coasters tend to post between the hours 
of 3-7pm PST.

Justin Ruthenbeck
Software Engineer, NextEngine Inc.
justinr - AT - nextengine DOT com
Confidential. See:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message