[jboss-dev] new shared JBOSS_HOME/server/lib directory

Brian Stansberry brian.stansberry at redhat.com
Wed Nov 5 09:55:11 EST 2008


Dimitris Andreadis wrote:
> Any preferences between
> 
> JBOSS_HOME/common/lib
> vs
> JBOSS_HOME/shared/lib?
> 

Both bring to mind the Tomcat 5.5 and earlier $CATALINA_HOME/common/lib
and $CATALINA_HOME/shared/lib. Probably will have the same association 
for others, so I recommend we consider the meaning of those and try to 
be consistent.

Those directories each serves as a resource location for a classloader, 
described as follows [1]:

Common - This class loader contains additional classes that are made 
visible to both Tomcat internal classes and to all web applications. 
Normally, application classes should NOT  be placed here.

Shared - This class loader is the place to put classes and resources 
that you wish to share across ALL  web applications (unless Tomcat 
internal classes also need access, in which case you should put them in 
the Common  class loader instead).


Neither of those descriptions exactly matches the JBoss directory, since 
"application classes should NOT be placed " in $JBOSS_HOME/common/lib 
isn't technically true.  But still, I think "common" better matches what 
we are trying to do, since jars placed in it are most definitely meant 
to be visible to internal JBoss classes.

Note that in Tomcat 6, common/lib and shared/lib are gone, with 
common/lib functionally replaced by a plain lib/ [2]

[1] http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html
[2] http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html


-- 
Brian Stansberry
Lead, AS Clustering
JBoss, a division of Red Hat
brian.stansberry at redhat.com



More information about the jboss-development mailing list