Also, from a release management standpoint, the risk is the dependency of
all the apps on the specific versions of the jars in shared/lib.  Meaning,
if one app needs a newer version of a shared component placed in shared/lib,
then all are forced to upgrade as well.  Timing on upgrading the other apps
is not usually so helpful, particularly when needing even a small coding
change!

It is typically better to use the source control tool to integrate specific
versions of shared components into its own codeline - so the codeline is
complete without external dependencies (reproducible builds from the source
tree).  If it is a 3rd party component, check-in the distributables and
integrate/merge the right versions of them into your different product
codelines.  If it is your own component, do the same - check-in the
distributables.  For deployment, as part of the normal build/package/deploy
process, place the shared components in WEB-INF/lib so each app can have its
own version.

As Tim says, this would "rethink the design" and solve the problem by not
having anything in shared/lib.  At the same time, eliminating a potential
cross-application dependency problem.

Disclaimer - there may be something in your environment that forces you to
use shared/lib (or possibly never even have an upgrade problem), whether
technical (can't think of much other than large footprint jars) or
"political" ;-)

Your mileage may vary.


> -----Original Message-----
> From: Tim Funk [mailto:[EMAIL PROTECTED]
> Sent: Saturday, March 22, 2003 8:50 AM
> To: Tomcat Users List
> Subject: Re: Reloading shared/lib JAR files?
>
>
> If you redeploy jars into /shared/lib - they will not be
> reloaded on a
> webapp reload and there is no way to reload them(except a
> stop/start of
> tomcat). But jars/classes in WEB-INF/ can be reloaded.
>
> If you have jars in shared/lib that need reloaded when an webapp is
> reloaded - you might need to rethink the design of those shared libs.
>
> -Tim
>
> Johannes Fiala wrote:
> > Hi there,
> >
> > I know it is possible to reload a web-application using the
> manager app
> > (especially the JAR-files in WEB-INF/lib).
> > Is it possible to also include the shared/lib directory?
> >
> > We have some helper JARs, which are used by four web
> contexts, so I'd
> > prefer to put them into /shared/lib.
> > However, if it doesn't get reloaded after an update of
> /shared/lib, I have
> > no means to perform a hot redeploy if only the JAR files change.
> >
> > thx alot
> > Johannes


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to