I've had a very frustrating time with JBoss' ClassLoaders, and I just need to vent! It is currently IMPOSSIBLE to override libraries in your .wars or .ears that JBoss happens to use!! If you want to use a newer version of some commons-*.jar that JBoss happens to use, then you are out of luck! You can try all sorts of things, but nothing works. All you can do is use whatever version JBoss uses. It forces us to create a special .war just for JBoss. If you isolate your .ear classloader-wise, then the embedded Tomcat will use the version of the commons-*.jar in your application! Why can't it just use the one that came with JBoss and let me use the one in my .ear?