ResourceLoader
with the package, and get resources in this package.==> my ====> resources ======> resource.xml ====> package ======> MyClass.javaWe can use the following code to retrieve the
resource.xml
resource in the MyClass
class:public class MyClass { public static void main(String[] args) { ResourceLoader loader = new ResourceLoader("my/resources"); URL resourceURL = loader.getURL("resource.xml"); } } ClassLoader parentLoader = Thread.currentThread().getContextClassLoader(); URLClassLoader loader = new URLClassLoader(urls, parentLoader); ResourceLoader loader = new ResourceLoader("my/package", loader); URL resourceURL = loader.getURL("resource.xml");
URLClassLoader
to load these resources, because the original ContextClassLoader won't be able to load the resources in this jar file.
theJarFile.jar: ==> the ====> package ======> resource.xmlWe could use the following code to retrieve the
resource.xml
resource:URL url = theJarFile.toURI().toURL(); URL[] urls = new URL[1] urls[0] = url; ClassLoader parentLoader = Thread.currentThread().getContextClassLoader(); URLClassLoader loader = new URLClassLoader(urls, parentLoader); ResourceLoader loader = new ResourceLoader("the/package", loader); URL resourceURL = loader.getURL("resource.xml");
theJarFile.jar: ==> the ====> package ======> resource.xmlFor example with a Class:
ResourceLoader loader = new ResourceLoader("the/package", MyClass.class); URL url loader.getURL("resource.xml");or:
ResourceLoader loader = new ResourceLoader("the/package"); URL url loader.getURL("resource.xml", MyClass.class));
sun.reflect.Reflection
will be used internallyCopyright 2006-2024 Herve Girod. All Rights Reserved. Documentation and source under the LGPL v2 and Apache 2.0 licences