Java9JPMS可以与SPI一起在运行时动态加载插件吗?
我有一个需要使用插件的Java8项目。这些JAR可以放在特定的目录中,如果存在,可以由主应用程序使用 计划使用Java 8 SPI实现这一点,如下所述: 到目前为止还不错。但是,我希望能够在运行时获取放置在该目录中的新插件,而无需重新启动应用程序。上面的链接(为Java 8编写)说明: 此外,当前ServiceLoader类无法告诉您的应用程序何时有新的提供程序在运行时可用。此外,您不能将更改侦听器添加到加载程序中,以确定新的提供程序是否已放置到特定于应用程序的扩展目录中 Java9JPMS中引入了对此机制的一些更改,包括不需要(源:)在META-INF/services下创建文件来公布实现 所以问题是:迁移到Java9是否能让我在运行时扫描我的插件目录并提供任何新的插件?在Java8中是否还有其他方法可以实现这一点?我知道OSGI,但就我的目的而言,它似乎有些过分了 非常感谢您提供的任何答案/见解Java9JPMS可以与SPI一起在运行时动态加载插件吗?,java,plugins,spi,Java,Plugins,Spi,我有一个需要使用插件的Java8项目。这些JAR可以放在特定的目录中,如果存在,可以由主应用程序使用 计划使用Java 8 SPI实现这一点,如下所述: 到目前为止还不错。但是,我希望能够在运行时获取放置在该目录中的新插件,而无需重新启动应用程序。上面的链接(为Java 8编写)说明: 此外,当前ServiceLoader类无法告诉您的应用程序何时有新的提供程序在运行时可用。此外,您不能将更改侦听器添加到加载程序中,以确定新的提供程序是否已放置到特定于应用程序的扩展目录中 Java9JPMS中