Brodie
Brodie

Reputation: 605

if i know a class, how can i know which jar it is from?

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.

Upvotes: 4

Views: 113

Answers (1)

Robert Christie
Robert Christie

Reputation: 20695

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.

Upvotes: 4

Related Questions