URL to load resources from the classpath in Java

Posted by Thilo on Stack Overflow See other posts from Stack Overflow or by Thilo
Published on 2009-05-14T04:07:39Z Indexed on 2010/03/22 0:11 UTC
Read the original article Hit count: 636

In Java, you can load all kinds of resources using the same API but with different URL protocols:

file:///tmp.txt
http://127.0.0.1:8080/a.properties
jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class

This nicely decouples the actual loading of the resource from the application that needs the resource, and since a URL is just a String, resource loading is also very easily configurable.

Is there a protocol to load resources using the current classloader? This is similar to the Jar protocol, except that I do not need to know which jar file or class folder the resource is coming from.

I can do that using Class.getResourceAsStream("a.xml"), of course, but that would require me to use a different API, and hence changes to existing code. I want to be able to use this in all places where I can specify a URL for the resource already, by just updating a property file.

© Stack Overflow or respective owner

Related posts about java

Related posts about class-loading