java.util.ServiceLoader.load() 函数没有用,只有 returns 空结果

java.util.ServiceLoader.load() function is useless and only returns empty result

我正在尝试在 Scala 2.10 中使用 Java ServiceLoader 通过反射找到我所有的测试 类:

  val services = ServiceLoader.load(classOf[MyClass])
  for (service <- services.asScala) {
    test(service.getClass.getCanonicalName) {
      println(service)
      ... test code
    }
  }

我非常确定 'MyClass' 有几个包含测试用例的子 类,因为我可以使用 'classOf[]' 函数在相同的代码片段中找到它们

然而,我的测试总是以

结束
Empty test suite.

ServiceLoader 在 Scala 中不工作吗?如何解决或规避这个问题?

抱歉忘记设置META-INF/services/文件,添加服务的二进制名称后class一切正常!