如何编写自定义类加载器来从jar加载类?

时间:2016-08-23 17:40:14

标签: java classloader

我有编写自定义类加载器的目标,这是从一些自定义存储库加载类所需的,以实现热部署功能并允许卸载类。如果您有类似任务的经验,请分享您的知识。

1 个答案:

答案 0 :(得分:1)

无需在您的情况下编写自定义ClassLoaderURLClassLoader就足够了,您只需提供一个URL数组作为参数(对应于类或jar文件的文件夹)包括)到它的构造函数,最终父类加载器(Thread.currentThread().getContextClassLoader()可能是一个很好的候选者)。

NB:当您打算进行热部署时,请确保在close()实例上调用URLClassLoader以正确释放资源。

以下是使用反射动态创建Class实例的方法:

Class<?> myClass =  Class.forName(myClassName, true, myClassLoader);
Object myObject = myClass.newInstance();