Thanks for the input, Justin. I am afraid I can't really rely on the JVM cache for this, I am hoping for a more explicit and deterministic way to get the info. Like an extension point, or interface that would somehow expose what's being loaded from the JAR in the classpath. If this is not possible, maybe providing a wrapper around the file system to track file usage?