3 回答
TA贡献1828条经验 获得超3个赞
首先,您需要一个所有插件都需要实现的接口,例如
public interface Plugin {
public void load(PluginConfiguration pluginConfiguration);
public void run();
public void unload();
public JComponent getConfigurationPage();
}
然后,插件作者应将其插件捆绑到JAR文件中。您的应用程序将打开JAR文件,然后可以使用JAR清单中的属性或JAR文件中所有文件的列表来查找实现您的Plugin接口的类。实例化该类,插件即可使用。
当然,您可能还希望实现某种沙箱操作,以使该插件在它可以做什么和不能做什么方面受到限制。我创建了一个小型测试应用程序(并向其发布了博客),该应用程序由两个插件组成,其中一个被拒绝访问本地资源。
TA贡献1843条经验 获得超7个赞
使用OSGi。
它是Eclipse插件系统的基础。Equinox是Eclipse的实现(许可的EPL),Felix是Apache Project的实现(许可的Apache Public License)。
Eclipse提供了一个具体的示例,OSGi可以涵盖您提到的要点(或者,如果您想要完整的Eclipse / SWT / JFace堆栈,则可以在Eclipse RCP之上构建应用程序)。
添加回答
举报
