小编典典

用Java构建插件系统的最佳方法

java

你将如何为Java应用程序实现插件系统?

是否有一个易于使用的(对于开发人员而言)系统可以实现以下目的:

  • 用户将其插件放入应用程序的子目录中
  • 插件可以提供配置屏幕
  • 如果使用框架,那么许可证是否与商业开发兼容?

阅读 840

收藏
2020-03-23

共1个答案

小编典典

首先,你需要一个所有插件都需要实现的接口,例如

public interface Plugin {
    public void load(PluginConfiguration pluginConfiguration);
    public void run();
    public void unload();
    public JComponent getConfigurationPage();
}

然后,插件作者应将其插件捆绑到JAR文件中。你的应用程序将打开JAR文件,然后可以使用JAR清单中的属性或JAR文件中所有文件的列表来查找实现你的Plugin接口的类。实例化该类,插件即可使用。

当然,你可能还希望实现某种沙箱操作,以使该插件在它可以做什么和不能做什么方面受到限制。我创建了一个小型测试应用程序(并向其发布了博客),该应用程序由两个插件组成,其中一个被拒绝访问本地资源。

2020-03-23