private InputStream getClassBytesAsStreamPreferringLocalUrls(String resName) { InputStream fromUrlsClassLoader = urls.getResourceAsStream(resName); if (fromUrlsClassLoader != null) { return fromUrlsClassLoader; } return super.getResourceAsStream(resName); }
public InputStream getResourceAsStream(String name) { InputStream is = super.getResourceAsStream(name); if (is == null) { is = defaultClassLoader.getResourceAsStream(name); } return is; } }
/** {@inheritDoc} */ @Override public InputStream getResourceAsStream(String name) { // Find resource in GAR file first. InputStream in = getResourceAsStreamGarOnly(name); // Find resource in parent class loader. if (in == null) in = ClassLoader.getSystemResourceAsStream(name); if (in == null) in = super.getResourceAsStream(name); return in; }
private InputStream getResourceAsStreamFromChild(final String resourceName) { if (this.oneNestedJarUrlBase == null || this.embeddedJarPathsInNestedJar.isEmpty()) { // Multiple flat JARs -- Gem-based plugins, or Single JAR (JAR-based plugins) without any embedded JAR return super.getResourceAsStream(resourceName); } else { // Single nested JAR -- JAR-based plugins // Resources directly in the plugin JAR are prioritized. final InputStream inputStream = super.getResourceAsStream(resourceName); if (inputStream == null) { try { final InputStream childInputStream = AccessController.doPrivileged( new PrivilegedExceptionAction<InputStream>() { public InputStream run() { return getResourceAsStreamFromEmbeddedJars(resourceName); } }, this.accessControlContext); if (childInputStream != null) { return childInputStream; } } catch (PrivilegedActionException ignored) { // Passing through intentionally. } } } return null; }
public InputStream getResource2(String uri) { if( fromJar() ) { InputStream is = _systemLoader.getResourceAsStream("resources"+uri); if (is==null) is = this.getClass().getClassLoader().getResourceAsStream("resources"+uri); if (is==null) is = Thread.currentThread().getContextClassLoader().getResourceAsStream("resources"+uri); return is; } else { try { File resources = new File("lib/resources"); if(!resources.exists()) { // IDE mode assumes classes are in target/classes. Not using current path // to allow running from other locations. String h2oClasses = getClass().getProtectionDomain().getCodeSource().getLocation().getPath(); resources = new File(h2oClasses + "/../../lib/resources"); } return new FileInputStream(new File(resources, uri)); } catch (FileNotFoundException e) { Log.err("Trying system loader because : ", e); return _systemLoader.getResourceAsStream("resources"+uri); } } }
/** {@inheritDoc} */ @Override public InputStream getResourceAsStream(String name) { doTimeout(); byte[] res = resourceMap.get(name); return res == null ? super.getResourceAsStream(name) : new ByteArrayInputStream(res); }
/** * Searches all known module classloaders first, then parent classloaders * * @see java.lang.ClassLoader#getResourceAsStream(java.lang.String) */ @Override public InputStream getResourceAsStream(String file) { for (ModuleClassLoader classLoader : ModuleFactory.getModuleClassLoaders()) { InputStream result = classLoader.getResourceAsStream(file); if (result != null) { return result; } } return super.getResourceAsStream(file); }
@Test public void testClassloaderWithMulePluginUrls() throws IOException { URL jarURL = getURL("lib" + File.separator + "test-jar-with-resources.jar" + SEPARATOR); URLClassLoader urlClassLoader = new URLClassLoader(new URL[] {jarURL}); // looking for resource that's located in the jarURL (zip within zip scenario) InputStream testResourceWithinZipInputStream = urlClassLoader.getResourceAsStream("test-resource-2.txt"); assertThat(testResourceWithinZipInputStream, notNullValue()); assertThat(IOUtils.toString(testResourceWithinZipInputStream), is("Just some text")); }
public InputStream getResourceAsStream(String name) { InputStream is = super.getResourceAsStream(name); if (is == null){ is = defaultClassLoader.getResourceAsStream(name); } return is; } }
// the class to load final String classAsPath = className.replace('.', '/') + ".class"; // the URL to the `app.jar` file (Windows and Unix/Linux/MacOSX below) final URL url = new URL( "file", null, "///C:/Users/diffusive/app.jar" ); //final URL url = new URL( "file", null, "/Users/diffusive/app.jar" ); // create the class loader with the JAR file final URLClassLoader urlClassLoader = new URLClassLoader( new URL[] { url } ); // grab the resource, through, this time from the `URLClassLoader` object // rather than from the `ClassLoader` class final InputStream input = urlClassLoader.getResourceAsStream( classAsPath );
public InputStream getResourceAsStream(final String name) { InputStream stream = super.getResourceAsStream(name); /* *Make sure not to wrap the stream if it already is a wrapper. */ if (stream != null) { if (! (stream instanceof SentinelInputStream)) { stream = new SentinelInputStream(stream); } } return stream; }
//ref to some jar File f = new File("/tmp/foo.jar"); //create a new classloader for this jar URLClassLoader loader = URLClassLoader.newInstance(new URL[]{f.toURI().toURL()}); //load resource with classloader InputStream inputStream = loader.getResourceAsStream("foo/bar/test.txt"); //...do stuff with inputStream
@Override public InputStream getResourceAsStream(String name) { String ext = getFileExtension(name); if ("css".equals(ext) || "js".equals(ext) || "less".equals(ext)) { return m_originalClassLoader.getResourceAsStream(name); } else { return super.getResourceAsStream(name); } }
public InputStream getResourceAsStream(final String name) { InputStream stream = super.getResourceAsStream(name); /* *Make sure not to wrap the stream if it already is a wrapper. */ if (stream != null) { if (! (stream instanceof SentinelInputStream)) { stream = new SentinelInputStream(stream); } } return stream; }
URL[] url = { new URL("file:/home/mart/workspace6/test2/bin/") }; URLClassLoader ucl = URLClassLoader.newInstance(url); InputStream is = ucl.getResourceAsStream("Outside.class"); byte[] bytes = new byte[is.available()]; is.read(bytes); Method m = ClassLoader.class.getDeclaredMethod("defineClass", new Class[] { String.class, byte[].class, int.class, int.class }); m.setAccessible(true); Class<Base> outsideClass = (Class<Base>) m.invoke(Base.class.getClassLoader(), "Outside", bytes, 0, bytes.length); Base p = outsideClass.newInstance(); System.out.println(p.getClass()); p.run();
@Override public InputStream getResourceAsStream(String resource) { URL result = getResource(resource); if (result != null) { try { return result.openStream(); } catch (IOException e) { //e.printStackTrace(); } } return super.getResourceAsStream(resource); }
private InputStream getInternalInputstream(final String name) { final byte[] classData = loadProcessResource(name); if (classData != null) { return new ByteArrayInputStream(classData); } return super.getResourceAsStream(name); }
private static String readURLTemplate(String templateURL) throws MalformedURLException { URLClassLoader urlLoader = new URLClassLoader(new URL[] {new URL( templateURL)}); InputStream is = urlLoader.getResourceAsStream("templates/servlet.xml"); return readFile(is); }
private InputStream loadPluginResource(String iconRef) { InputStream answer = Thread.currentThread().getContextClassLoader().getResourceAsStream(iconRef); if (answer == null) { answer = MavenUtil.getTestClassLoader(getProject()).getResourceAsStream(iconRef); } if (answer == null) { answer = this.getClass().getResourceAsStream(iconRef); } return answer; }
private InputStream loadPluginResource(String iconRef) { InputStream answer = Thread.currentThread().getContextClassLoader().getResourceAsStream(iconRef); if (answer == null) { answer = getContext().getProjectClassLoaders().getCompileClassLoader().getResourceAsStream(iconRef); } if (answer == null) { answer = this.getClass().getResourceAsStream(iconRef); } return answer; }