Java :循环访问类路径中的所有类

2022-09-04 06:21:01

有没有办法迭代类路径中的所有类?

我想对一些实现某个接口的类进行一些反思性检查,但我想完全动态地进行检查,而无需输入要检查的类,只需浏览类路径即可。


答案 1

反射库有助于解决此问题。正如其他人所说,在所有类加载情况下都不可能完全实现,但是如果您拥有的只是jar和文件,这将可靠地完成。


答案 2

你不能优雅地做到这一点。

基本上,可以要求类装入器装入特定的类名,但不能要求它加载所有类。(在通过Web加载类的情况下,这样做可能不可行 - 您无法可靠地要求Web服务器告诉您特定目录下的所有文件。

如果你的类路径处理文件系统,你可能会痛苦地找到扩展目录中的所有jar文件,递归正常的类路径目录,并查看所有显式指定的jar文件 - 但它会很棘手,也可能很脆弱。