static String getClassPathForClassLoader(ClassLoader classLoader) { return Joiner.on(System.getProperty("path.separator")).join(getClassPathFiles(classLoader)); }
private static String getClassPath() { // Use the effective class path in case this is being invoked in an isolated class loader String classpath = EffectiveClassPath.getClassPathForClassLoader(currentThread().getContextClassLoader()); return classpath; } }
static String getClassPathForClassLoader(ClassLoader classLoader) { return Joiner.on(System.getProperty("path.separator")).join(getClassPathFiles(classLoader)); }
private static String getClassPath() { // Use the effective class path in case this is being invoked in an isolated class loader String classpath = EffectiveClassPath.getClassPathForClassLoader(currentThread().getContextClassLoader()); return classpath; } }
private static ImmutableSet<File> getClassPathFiles(ClassLoader classLoader) { ImmutableSet.Builder<File> files = ImmutableSet.builder(); @Nullable ClassLoader parent = classLoader.getParent(); if (parent != null) { files.addAll(getClassPathFiles(parent)); } if (classLoader instanceof URLClassLoader) { URLClassLoader urlClassLoader = (URLClassLoader) classLoader; for (URL url : urlClassLoader.getURLs()) { try { files.add(new File(url.toURI())); } catch (URISyntaxException e) { // skip it then } catch (IllegalArgumentException e) { // skip it then } } } return files.build(); } }
private static ImmutableSet<File> getClassPathFiles(ClassLoader classLoader) { ImmutableSet.Builder<File> files = ImmutableSet.builder(); @Nullable ClassLoader parent = classLoader.getParent(); if (parent != null) { files.addAll(getClassPathFiles(parent)); } if (classLoader instanceof URLClassLoader) { URLClassLoader urlClassLoader = (URLClassLoader) classLoader; for (URL url : urlClassLoader.getURLs()) { try { files.add(new File(url.toURI())); } catch (URISyntaxException e) { // skip it then } catch (IllegalArgumentException e) { // skip it then } } } return files.build(); } }