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

Adrian Brock abrock at redhat.com
Tue Nov 4 11:04:41 EST 2008


On Tue, 2008-11-04 at 10:23 -0600, Johnson, Peter wrote:
> Please do not locate it at server/lib. As was mentioned before, directories under 'server' have been configurations since forever(?). If you really need a common location, call it common/lib.
> 

Good point. Somebody might have a configuration called
"lib", i.e.

./run.sh -c lib

Although its very much an edge case it would be much cleaner
to have these common jars away from the server folder.

> Peter Johnson
> 
> -----Original Message-----
> From: jboss-development-bounces at lists.jboss.org [mailto:jboss-development-bounces at lists.jboss.org] On Behalf Of Aleksandar Kostadinov
> Sent: Tuesday, November 04, 2008 6:11 AM
> To: JBoss.org development list
> Subject: Re: [jboss-dev] new shared JBOSS_HOME/server/lib directory
> 
> Adrian Brock wrote, On 11/04/2008 03:01 PM (EEST):
> > On Tue, 2008-11-04 at 14:47 +0200, Aleksandar Kostadinov wrote:
> >> I'm not the best one to give opinion on that but here it is.
> >>
> >> The change will complicate things and confuse users. As well doesn't
> >> seem scalable to me. When we have more server configurations,
> >
> > Its more scalable than having N copies of the jars in the
> > distribution where N is the number of configurations. :-)
> 
> Yeah, but what I suggested is even better 8-)
> 
> >> we'll need
> >> more lib directories (platforms more affected)...
> >
> > This is just a temporary solution until our deployments actually
> > specify what they use (classloading dependencies).
> > Once that is done we would only need one
> > repository/lib folder which would be loaded from as required
> > and the current server/[conf]/lib folder for people that
> > are too lazy to specify their dependencies. :-)
> 
> A temporary solution that we would need to carry for 5 years+ if not
> fixed for EAP 5. I *feel* that at least we in QE will have troubles with
> our scripts with changing layouts.
> 
> >> The change could break
> >> user utilities that expect the old layout, etc.
> >
> > Its JBoss5 so although change for change sake is not good,
> > something that has benefit (smaller distribution size)
> > is something that can change in a major release.
> >
> >> IMHO a straightforward approach will be to remove the
> >> JBOSS_HOME/server/*/lib directories altogether and have all libraries in
> >> JBOSS_HOME/lib or another directory. Then appropriate libraries for
> >> every server configuration be selected in a configuration file
> >> (conf/jboss-service.xml?).
> >>
> >
> > That makes a user's life harder. They have to modify the
> > configuration file to add shared jars (e.g. a jdbc driver)
> > whereas before they could just drop it in server/[conf]/lib
> > without further configuration steps.
> 
> If you leave the server/[conf]/lib for user libs and use configuration
> file for our shared libs then I see no drawbacks for the users.
> 
> > I wouldn't have a problem with having all our jars
> > in the shared lib folder and explicitly list them
> > in jboss-service.xml according to what the configuration
> > uses.
> > i.e. server/all/lib would be empty but
> > server/all/conf/jboss-service.xml would list more jars
> > than server/default/lib
> >
> > This would also mean that the minimal config is smaller,
> > nothin in server/minimal/lib
> >
> >> Best Regards,
> >> Aleksandar
> >>
> >> Dimitris Andreadis wrote, On 11/04/2008 12:38 PM (EEST):
> >>> The new JBOSS_HOME/server/lib directory pointed to at by the
> >>> jboss.shared.lib.url property currently contains the libraries shared by
> >>> the default and all configurations.
> >>>
> >>> So server/default/lib is now empty and server/all/lib contains only:
> >>>
> >>> avalon-framework.jar
> >>> hibernate-jbosscache2.jar
> >>> jacorb.jar
> >>> jbosscache-core.jar
> >>> jbosscache-pojo.jar
> >>> jgroups.jar
> >>>
> >>> The new directory is added to the classpath in conf/jboss-service.xml:
> >>>
> >>>    <classpath codebase="${jboss.server.lib.url}" archives="*"/>
> >>>    <classpath codebase="${jboss.shared.lib.url}" archives="*"/>
> >>>
> >>> The minimal config remains unchanged.
> >>>
> >>> https://jira.jboss.org/jira/browse/JBAS-6158
> >>>
> >>> You probably need to cleanup your build/output/** directory to pick up
> >>> the change at your next svn update.
> >>> _______________________________________________
> >>> jboss-development mailing list
> >>> jboss-development at lists.jboss.org
> >>> https://lists.jboss.org/mailman/listinfo/jboss-development
> >> _______________________________________________
> >> jboss-development mailing list
> >> jboss-development at lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/jboss-development
> _______________________________________________
> jboss-development mailing list
> jboss-development at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-development
> 
> _______________________________________________
> jboss-development mailing list
> jboss-development at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-development
-- 
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Adrian Brock
Chief Scientist
JBoss, a division of Red Hat
xxxxxxxxxxxxxxxxxxxxxxxxxxxx




More information about the jboss-development mailing list