mstrap
mstrap

Reputation: 17413

Load resource from class's own JAR file

When using Class.getResource() and supplying a rather common resource name, like "license.html", Java may load a "license.html" resource from another JAR file which is listed earlier in the CLASSPATH, but may be completely unrelated to my application. Is there a way to force the ClassLoader to first try to load the resource from the same JAR file which my class is in and only if not found, look in other JARs on the CLASSPATH?

Upvotes: 4

Views: 2196

Answers (2)

Andrew Thompson
Andrew Thompson

Reputation: 168815

..common resource name, like "license.html"'

A good reason to give it an uncommon path, for instance according to the package name.
E.G. "/com/our/app/license.html" is unlikely to collide with any other license.html

Upvotes: 4

Edwin Dalorzo
Edwin Dalorzo

Reputation: 78579

Alternatively you could use the JarURLConnection if you know the exact jar in which your file resides:

jar:<url>!/{entry}

Upvotes: 4

Related Questions