如何枚举特定包中的groovy类?

时间:2009-09-04 20:19:26

标签: reflection groovy

如果我有一个包(foo.bar),是否有一些常规糖可以让我轻松枚举所述包中的所有类?

1 个答案:

答案 0 :(得分:4)

Groovy构建于Java之上,因此在类加载时,任何Groovy类都只是一个Java类。 Java没有提供一种方法来完成你正在寻找的东西。你会认为它是http://java.sun.com/javase/6/docs/api/java/lang/Package.html上的一种方法,但是没有任何东西可以列出这些类。

如果你真的需要,有一种方法可以做到。类只是磁盘上的文件。列出以.class结尾的文件将为您提供Java类列表。如果您正在寻找Jar文件的内容(只是一个zip,请参阅this for reading jars),您可以打开jar并查看存档中的每个类。目录结构总是与包结构相对应,因此不应该很难获取您正在寻找的包并列出该目录中的所有.class文件。