private List<ResourceLoaderInfo> doGetResourceLoaders(final Module module) { final ModuleClassLoader classLoader = module.getClassLoaderPrivate(); final ResourceLoader[] loaders = classLoader.getResourceLoaders(); final ArrayList<ResourceLoaderInfo> list = new ArrayList<ResourceLoaderInfo>(loaders.length); for (ResourceLoader resourceLoader : loaders) { list.add(new ResourceLoaderInfo(resourceLoader.getClass().getName(), new ArrayList<String>(resourceLoader.getPaths()))); } return list; }
private static List<String> findResourcePaths(String moduleName) throws ModuleLoadException, ReflectiveOperationException, IOException, URISyntaxException { ModuleLoader moduleLoader = Module.getCallerModuleLoader(); ModuleLoaderMXBean loader = ModuleInfoHandler.INSTANCE.getMxBean(moduleLoader); moduleLoader.loadModule(ModuleIdentifier.fromString(moduleName)); List<String> result = new LinkedList<>(); for (ResourceLoaderInfo rl : loader.getResourceLoaders(moduleName)){ if (rl.getLocation() != null) { URL url = new URL(rl.getLocation()); switch (url.getProtocol()){ case "jar": { JarURLConnection jarConnection = (JarURLConnection)url.openConnection(); result.add(jarConnection.getJarFile().getName()); break; } default: { result.add(new File(url.getFile() ).toString()); } } } } return result; } }
private List<ResourceLoaderInfo> doGetResourceLoaders(final Module module) { final ModuleClassLoader classLoader = module.getClassLoaderPrivate(); final ResourceLoader[] loaders = classLoader.getResourceLoaders(); final ArrayList<ResourceLoaderInfo> list = new ArrayList<ResourceLoaderInfo>(loaders.length); for (ResourceLoader resourceLoader : loaders) { list.add(new ResourceLoaderInfo(resourceLoader.getClass().getName(), String.valueOf(resourceLoader.getLocation()), new ArrayList<>(resourceLoader.getPaths()))); } return list; }
private static List<String> findResourcePaths(String moduleName) throws ModuleLoadException, ReflectiveOperationException, IOException, URISyntaxException { ModuleLoader moduleLoader = Module.getCallerModuleLoader(); ModuleLoaderMXBean loader = ModuleInfoHandler.INSTANCE.getMxBean(moduleLoader); moduleLoader.loadModule(ModuleIdentifier.fromString(moduleName)); List<String> result = new LinkedList<>(); for (ResourceLoaderInfo rl : loader.getResourceLoaders(moduleName)){ if (rl.getLocation() != null) { URL url = new URL(rl.getLocation()); switch (url.getProtocol()){ case "jar": { JarURLConnection jarConnection = (JarURLConnection)url.openConnection(); result.add(jarConnection.getJarFile().getName()); break; } default: { result.add(new File(url.getFile() ).toString()); } } } } return result; } }