--- ArchiveFactoryImpl.java Thu Jul 26 13:50:58 2007 +++ \src\GlobalVise\calico\rvcatalog\webapp\src\oracle\toplink\essentials\ejb\cmp3\persistence\ArchiveFactoryImpl.java Mon Feb 04 14:14:53 2008 @@ -96,7 +96,19 @@ uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), null); } - File f = new File(uri); + // this check is to avert disaster with some appservers that pass + // in URLs which, when converted into URIs and passed to a File + // constructor, cause the error "URI is not hierarchical" + File f = null; + if(!uri.isOpaque()) + { + f = new File(uri); + } + else + { + logger.logp(Level.WARNING, "ArchiveFactoryImpl", "createArchive", "uri is opaque, using url path: {0}", url.getPath()); + f = new File(url.getPath()); + } if (f.isDirectory()) { // e.g. file:/tmp/a_ear/ejb_jar