[jboss-user] [Installation, Configuration & DEPLOYMENT] - JBoss classpath/classloader questions

rziegler72@yahoo.com do-not-reply at jboss.com
Mon Jan 26 09:48:20 EST 2009


Hi, please let me know if I'm in the wrong place.

QUESTION:  Is it possible to use a classpath or classloader setting to load jars from a location outside our app's deployed war WEB-INF/lib location, but AFTER the app's WEB-INF/lib jars have already been loaded?

BACKGROUND:  Our company has an enterprise app distributed as a war file that's running great when deployed to JBoss 4.2.2.  As seems standard with web apps, we include several 3rd party and internally written jars under WEB-INF/lib, and life is good.

This war file is our 'standard' app that most of our clients will get, but we have decided to give clients the ability to create their own 'custom' logic (jar files) using our API that they could use along with our standard app.

The only deployment solution folks have come up with for this custom jar has been to just put it under WEB-INF/lib along with the other jars, and bounce the app server so it can be seen.  This seems like a simple enough solution, but the next time a new standard war file is deployed, that WEB-INF/lib would get cleaned up, and someone would have to manually put the custom jar back in place under WEB-INF/lib again since they're not part of our standard war file.

We don't want to package the custom jars in our standard war file, since we don't want to maintain custom war files, and clients could change their jars on their schedule, so we'd never be in synch anyway.

The catch is that this custom jar is dependent on much of the logic contained in the other 3rd party and internal jars (import statements, etc), and any classpath settings I've tried look like they're loading this jar BEFORE the others, which won't work because of it's dependencies, and we just get the 'ClassDefNotFound' errors in the app.

I've tried several locations to put this custom jar, including -- server/XXX/lib, server/XXX/endorsed (with the -D arg pointing to the endorsed location), JBOSS_HOME/lib, and using the JBOSS_CLASSPATH variable, but none of them seem to do what I'd like.

I'm a Configuration Mgr (not a Java developer), so a lot of the documentation I've found on the wiki relating to classpaths/classloading is above my head...

Is what I'm trying to do possible, given the custom jars dependencies?

The system in question is JBoss 4.2.2 on Solaris 10, but we also run JBoss on Linux, Windows, and AIX.

Thank you in advance for any assistance you may be able to provide, and let me know if there's any other info I can post.


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4204719#4204719

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4204719



More information about the jboss-user mailing list