【发布时间】:2010-12-08 20:22:49
【问题描述】:
我想要一种允许动态加载和卸载 jar 以及调用 jar 中的激活器类的机制。由于繁琐的导入/导出机制,我不想使用 OSGi。
【问题讨论】:
标签: java classloader plugin-architecture
我想要一种允许动态加载和卸载 jar 以及调用 jar 中的激活器类的机制。由于繁琐的导入/导出机制,我不想使用 OSGi。
【问题讨论】:
标签: java classloader plugin-architecture
有一个名为Java Plugin Framework 的项目可能是您正在寻找的。在他们的网页上,它声明该项目试图匹配和扩展 Eclipse 的 pre-OSGI 插件架构。它是一个通用框架,不依赖于 SWT/桌面应用程序。
【讨论】:
您可以使用ClassLoader 从 JAR 文件中动态加载类。动态加载类后,如有必要,可以显式调用初始化例程。与 Java 的其他部分一样,这种机制是垃圾收集的,因此无法显式卸载 JAR;当动态加载的类不再被引用并且垃圾收集已经运行时,由 JVM 释放 JAR。
【讨论】:
JavaRebel,但它主要适用于开发,而不是生产部署。如果您正在寻找开源替代方案,可以关注this question。
【讨论】: