2

在 java9 模块之前,有一个选项可以生成服务提供者实现类和 META-INF/services 文件。使用此选项,在注释处理期间生成的服务提供程序类可以在运行时通过 ServiceLoader 访问(如果还生成了适当的 META-INF/services 资源文件)。

在 java9(启用模块)中,引入了新的 ServiceLoader 机制。不再有 META-INF/services,所有服务和服务提供者都应该在 module-info.java 中显式声明。这是否意味着 java9(带有启用的模块)限制生成服务提供者类及其声明,还是我遗漏了什么?

谢谢。

4

0 回答 0