Hi all, I'm stuck using axis2-1.5.4.
Here's what I think is happening: Axis2 does this sort of container-in-a-container thing. It creates its own classloader and pulls in all of its jar libraries dynamically. The problem is that it uses a java.net.URL to target the files. This would be fine except for the problem that the folder name, when using parallel deployment, is /path/to/yourWar##12345 So (from org.apache.axis2.deployment.util.Utils) public static URL[] getURLsForAllJars(URL url, File tmpDir) { FileInputStream fin = null; InputStream in = null; ZipInputStream zin = null; try { ArrayList array = new ArrayList(); in = url.openStream(); The problem is that URL was constructed from a File object in the org.apache.axis2.deployment.repository.util.DeploymentFileData.setClassLoader(boolean, ClassLoader, File) method using the toURL() method. The toURL() method is deprecated because it doesn't escape special characters, namely the "##" in the path. When it hits url.openStream() it is discarding everything after the ##nnnnn part of the path (think hash value in a web URL). It throws a "java.io.FileNotFoundException: /path/to/yourWar (No such file or directory)" Getting in there and patching axis2-1.5.4 is less-than-desirable. So many things to go wrong. Is there a way to alter the way tomcat unpacks the warfile? Is there a way to configure the version delimiters from ## to perhaps ~~ or $$ ? CG