IBM's JAR Class Finder reminds me of a snippet of utility code I wrote for PCGen which used a clever trick to find the location on disk of the definition for a given class, either a jar or a directory in the classpath:
new File(clazz.getProtectionDomain().getCodeSource().getLocation().toURI().normalize())
The only drawback: for the JDK itself the protection domain has a null
code source. Since Class.getProtectionDomain()
relies internally on a native method to create the protection domain, I'm unsure if this is a bug or intended behavior. It certainly isn't documented in the javadocs. I consider this a bug, but others disagree and it has changed between JDK versions.
No comments:
Post a Comment