3 回答

TA貢獻1828條經(jīng)驗 獲得超3個贊
首先,您需要一個所有插件都需要實現(xiàn)的接口,例如
public interface Plugin {
public void load(PluginConfiguration pluginConfiguration);
public void run();
public void unload();
public JComponent getConfigurationPage();
}
然后,插件作者應將其插件捆綁到JAR文件中。您的應用程序將打開JAR文件,然后可以使用JAR清單中的屬性或JAR文件中所有文件的列表來查找實現(xiàn)您的Plugin接口的類。實例化該類,插件即可使用。
當然,您可能還希望實現(xiàn)某種沙箱操作,以使該插件在它可以做什么和不能做什么方面受到限制。我創(chuàng)建了一個小型測試應用程序(并向其發(fā)布了博客),該應用程序由兩個插件組成,其中一個被拒絕訪問本地資源。

TA貢獻1843條經(jīng)驗 獲得超7個贊
使用OSGi。
它是Eclipse插件系統(tǒng)的基礎。Equinox是Eclipse的實現(xiàn)(許可的EPL),F(xiàn)elix是Apache Project的實現(xiàn)(許可的Apache Public License)。
Eclipse提供了一個具體的示例,OSGi可以涵蓋您提到的要點(或者,如果您想要完整的Eclipse / SWT / JFace堆棧,則可以在Eclipse RCP之上構建應用程序)。
添加回答
舉報