I'm porting a large web application from Weblogic to JBoss 3.0.
There are over 2000 Java class files in the web app (the product
of 16 developers banging away at it for 2+ years !). These are all
deployed under WEB-INF/lib, along with a bunch of third party
libraries (as all good web apps should be deployed 8^).
What I'd like to do is to get the class files from a development
directory, where they're compiled from the source code, instead
of getting them from the web app jar file. Then hopefully, I can
recompile a class, redeploy the web app, and see the changes
immediately (right ?).
How can I do this ? Some of the things I've tried:
o call newClassLoader() on the LoaderRepository MBean from within
the jmx-console, passing an argument like "file:/X:/path/to/classes/dir".
This appears to start to work, except that JBoss tries to enumerate
all the classes under this directory, and with 2000+ files, this
ends up taking a long time. And I'm not convinced this is the right
approach anyway, because this will add a new class loader to the
loader repository, which is above the web app class loader.
o add file:/X:/path/to/classes/dir to the URL attribute of the MBean
for the deployed web app. This seems to make the web app stop
working; it just doesn't respond any more, and I've noticed
there is a warning message displayed in the server log saying,
"[jbossweb] WARNING: ClassPath should not be set for WebApplication"
...hmmm, so I guess this isn't too good a thing to do, right ?
This is code that's checked in the ClearCase, and is available
in a view on Windows NT.
This works under Weblogic 5.1 because the X:/path... directory
can simply be added to a "weblogic.class.path" system property,
which the Weblogic class loader references.
What's a good way to do this under JBoss ?
Thanks in advance,
Oops, minor correction to my original post:
> o add file:/X:/path/to/classes/dir to the URL
> attribute of the MBean
> for the deployed web app.
It's the "classPath" attribute of the web application
MBean that I'm setting (not a "URL" attribute, which
does not exist on this MBean).