2

在 Scala 和 SBT 中,有没有办法通过注释类自动生成META-INF/services/*资源文件供以后使用,就像Google Auto Service对 Java 项目所做的那样?java.util.ServiceLoader

IE

package foo.bar

import my.exported.ServiceInterface

@AutoService[ServiceInterface]
class MyService extends ServiceInterface{
  // …
}

META-INF/services/my.exported.ServiceInterface在资源文件夹中自动生成文件。该文件将包含:

foo.bar.MyService 

(我认为我不能直接使用 Google Auto Service,因为它不适用于 Scala 类——请参阅关于 realm-java github 问题的评论。)

4

1 回答 1

1

请考虑使用https://github.com/nyavro/spi-plugin

此插件中使用的方法与使用注释不同 - 它使用整个包作为接口的来源,并适用于接口实现的包。

于 2016-02-23T17:46:29.490 回答