@Override public Method run() { final Object cp; try { cp = getURLClassPath(loader); final Class<?> clazz = cp.getClass(); return clazz.getDeclaredMethod("addURL", URL.class); } catch (final Exception e) { e.printStackTrace(); } return null; }
@Override public Method run() { final Object cp; try { cp = getURLClassPath(loader); final Class<?> clazz = cp.getClass(); return clazz.getDeclaredMethod("addURL", URL.class); } catch (final Exception e) { System.err.println("Can't access addURL from URLClassPath"); } return null; }
protected void addJarToPath(final URL jar, final URLClassLoader loader) throws Exception { final Object cp = getURLClassPath(loader); final Method addURLMethod = getAddURLMethod(loader); addURLMethod.invoke(cp, jar); }
protected void addJarToPath(final URL jar, final URLClassLoader loader) throws Exception { this.getURLClassPath(loader).addURL(jar); }
protected void addJarsToPath(final File dir, final URLClassLoader loader) throws Exception { if (dir == null || !dir.exists()) return; String[] jarNames = dir.list(new java.io.FilenameFilter() { public boolean accept(File dir, String name) { return (name.endsWith(".jar") || name.endsWith(".zip")); } }); final URL[] jars = new URL[jarNames.length]; for (int j = 0; j < jarNames.length; j++) { jars[j] = new File(dir, jarNames[j]).toURI().toURL(); } sun.misc.URLClassPath path = getURLClassPath(loader); for (int i = 0; i < jars.length; i++) { path.addURL(jars[i]); } }
protected void addJarToPath(final URL jar, final URLClassLoader loader) throws Exception { final Object cp = getURLClassPath(loader); if (cp == null && CustomizableURLClassLoader.class.isInstance(loader)) { CustomizableURLClassLoader.class.cast(loader).add(jar); } else { getAddURLMethod(loader).invoke(cp, jar); } }
protected synchronized void addJarsToPath(final File dir, final URLClassLoader loader) throws Exception { if (dir == null || !dir.exists()) { return; } final String[] jarNames = dir.list(new java.io.FilenameFilter() { @Override public boolean accept(final File dir, String name) { name = name.toLowerCase(); return name.endsWith(".jar") || name.endsWith(".zip"); } }); final URL[] jars = new URL[jarNames.length]; final boolean isWindows = System.getProperty("os.name", "unknown").toLowerCase().startsWith("windows"); for (int j = 0; j < jarNames.length; j++) { final String name = isWindows ? jarNames[j].toLowerCase() : jarNames[j]; try { jars[j] = new URL(new File(dir, name).getCanonicalFile().getAbsoluteFile().toURI().toURL().toExternalForm()); } catch (final IOException e) { jars[j] = new URL(new File(dir, name).getAbsoluteFile().toURI().toURL().toExternalForm()); } } final Object cp = getURLClassPath(loader); final Method addURLMethod = getAddURLMethod(loader); for (final URL jar : jars) { addURLMethod.invoke(cp, jar); } }
final Object cp = getURLClassPath(loader); if (cp == null && CustomizableURLClassLoader.class.isInstance(loader)) { final CustomizableURLClassLoader customizableURLClassLoader = CustomizableURLClassLoader.class.cast(loader);