我正在尝试为插件/应用程序创建一个框架,我想我已经决定在 Java 中使用服务提供者接口 (SPI) 来实现这一目标。最终的愿景是人们可以下载插件(如应用商店),然后只需将 jar 放入文件夹中,他们就可以使用现有程序。
所以我有一个课程PluginInterface
将成为我的 SPI。我希望所有插件都实现这个类(它有基本的方法,如doesAccept
,handle
等)。由于第 3 方将创建服务提供者,我怎样才能让他们在他们的代码中引用这个 Java 接口(以便他们可以实现它),而不实际给他们主应用程序的源代码?