如何在kotlin中使用反射来查找包中的所有类
是否有可能在给定的包中找到所有的kotlin
类?
我也只需要注释类,但它不是一个大问题。 有什么建议么 ?
由于类加载器的实现,JVM上的Kotlin在这方面遭受与Java相同的问题。
类加载器不需要告诉虚拟机可以提供哪些类,而只是递交类的请求,而不得不返回类或抛出异常。
来源和更多信息: Can you find all classes in a package using reflection?
总结链接的线程,有许多解决方案可以让你检查你当前的班级路径。
- Reflections库非常简单,并且具有许多附加功能,比如获取一个类的所有子类型, 获取所有类型/成员的注释以及注释参数匹配等。
- 番石榴有
ClassPath
,它会返回ClassInfo
POJO的 – 对于您的用例来说还不够,但是有用的是知道Guava几乎在任何地方都可用。 - 通过查询类加载器资源和代码源来编写自己的代码。 除非你绝对不能添加库依赖,否则不会建议这条路线。