private JarLoader extractClassesJar(String name) throws IOException { ZipEntry classes = aarFile.getEntry(CLASSES_JAR_NAME); if (classes == null) { return null; } tempClassesJar = Files.createTempFile(name, ".jar"); InputStream in = aarFile.getInputStream(classes); Files.copy(in, tempClassesJar, StandardCopyOption.REPLACE_EXISTING); return new JarLoader(tempClassesJar.toFile()); }
private JarLoader extractClassesJar(String name) throws IOException { ZipEntry classes = aarFile.getEntry(CLASSES_JAR_NAME); if (classes == null) { return null; } tempClassesJar = Files.createTempFile(name, ".jar"); InputStream in = aarFile.getInputStream(classes); Files.copy(in, tempClassesJar, StandardCopyOption.REPLACE_EXISTING); return new JarLoader(tempClassesJar.toFile()); }
/** * @param files ordered list of files and directories from which to load classes and resources */ public SquidClassLoader(List<File> files) { super(null); loaders = new ArrayList<>(); for (File file : files) { if (file.exists()) { if (file.isDirectory()) { loaders.add(new FileSystemLoader(file)); } else if (file.getName().endsWith(".jar")) { loaders.add(new JarLoader(file)); } } } }
/** * @param files ordered list of files and directories from which to load classes and resources */ public SquidClassLoader(List<File> files) { super(null); loaders = new ArrayList<Loader>(); for (File file : files) { if (file.exists()) { if (file.isDirectory()) { loaders.add(new FileSystemLoader(file)); } else if (file.getName().endsWith(".jar")) { loaders.add(new JarLoader(file)); } } } }
/** * @param files ordered list of files and directories from which to load classes and resources */ public SquidClassLoader(List<File> files) { super(computeParent()); loaders = new ArrayList<>(); for (File file : files) { if (file.exists()) { try { if (file.isDirectory()) { loaders.add(new FileSystemLoader(file)); } else if (file.getName().endsWith(".jar")) { loaders.add(new JarLoader(file)); } else if (file.getName().endsWith(".aar")) { loaders.add(new AarLoader(file)); } } catch (IllegalStateException e) { LOG.warn("Unable to load classes from '{}'", file.getPath()); LOG.debug("{}: {}", e.getMessage(), e.getCause().getMessage()); } } } }
/** * @param files ordered list of files and directories from which to load classes and resources */ public SquidClassLoader(List<File> files) { super(computeParent()); loaders = new ArrayList<>(); for (File file : files) { if (file.exists()) { try { if (file.isDirectory()) { loaders.add(new FileSystemLoader(file)); } else if (file.getName().endsWith(".jar")) { loaders.add(new JarLoader(file)); } else if (file.getName().endsWith(".aar")) { loaders.add(new AarLoader(file)); } } catch (IllegalStateException e) { LOG.warn("Unable to load classes from '{}'", file.getPath()); LOG.debug("{}: {}", e.getMessage(), e.getCause().getMessage()); } } } }