views:

24

answers:

1

for now i could use clazz.getClassLoader().getResource(class.getName()), then i substring the URL to get the jar file's location, but i really want to know if there is any better way to do it.

is there any API for this? thank you.

+3  A: 

If your class is called Foo

URL classLocation = Foo.class.getProtectionDomain().getCodeSource().getLocation()

classLocation will contain the URL where the class was loaded from. Either a folder for a stand alone class or a jar/zip.

Robert Christie