Joh*_*rms 2 java reflection jar classloader
我从Java中的自定义类加载器中加载了来自几个不同.jars的几个不同的类.我创建一个自定义URLClassLoader,向它添加几个.jars并将其传递给a ServiceLoader以找到我想要的类.
我的问题是:给定一个类,有没有办法发现它是从哪个.jar加载的?
以下代码段应该有效:
obj.getClass().getProtectionDomain().getCodeSource().getLocation().toString()
Run Code Online (Sandbox Code Playgroud)
请注意,在调用getProtectionDomain或getCodeSource并在任何生产代码中正确处理时,应添加null检查.(这取决于类加载器,安全性等)