public ClassLoader createDynamicClassLoader(ClassLoader parentCl, ClassLoader extraCl) { return new WarFileDynamicClassLoader(this, parentCl, extraCl); }
private WARFile getWarFile() { return (WARFile) getArchive(); } }
protected File getFile(String name) { //search classes directory first, then war, then nested archives. //search classes directory String swizzledName = ArchiveUtil.concatUri(ArchiveConstants.WEBAPP_CLASSES_URI, name, '/'); try { return getWarFile().getFile(swizzledName); } catch (java.io.FileNotFoundException ex) { } //search war if running with compatibility if (allowLoadingFromWAR) { File file = getFileFromArchive(name); if (file != null) { return file; } } //search nested archives List children = getWarFile().getLibs(); for (int i = 0; i < children.size(); i++) { try { return ((Archive) children.get(i)).getFile(name); } catch (java.io.FileNotFoundException ex) { continue; } } //finally search jars in ear return getFileFromDependentJar(name); }