2017-02-22 192 views

回答

3

由于类加载器的实现,JVM上的Kotlin在这方面遇到与Java相同的问题。

类加载器不需要告诉VM可以提供哪些类,而不是它们只是类手请求,并且必须返回一个类或抛出异常。

来源和更多信息:Can you find all classes in a package using reflection?

总结挂线,有一些解决方案,让您检查您当前的类路径。

  • Reflections库是非常简单的,有很多的像得到一个类的所有亚型附加功能,得到所有类型/成员注释一些注释,任选注释参数匹配
  • GuavaClassPath,它返回ClassInfo POJO's - 对于您的用例来说还不够,但对于知道几乎无处不在的番石榴是有用的。
  • 通过查询类加载器资源和代码源编写自己的代码。除非你绝对不能添加库依赖,否则不会建议这条路线。
相关问题