Java包扫描器 - 查找具有给定接口的所有类

5
在C#中,您可以轻松地从给定的程序集中读取所有类。我正在寻找Java中的等效功能。我需要这个功能来自动将EJB bean绑定到我的Guice模块。
3个回答

4
很遗憾,在Java中似乎没有现成的解决方案。
在我们的项目中,我们采用了某个博客提出的稍微修改过的方法。那里描述的解决方案是扫描文件系统和JAR文件以查找类。
如果您只想选择实现某个接口的类,则可以进行一些额外的检查,例如clazz.isAssignableFrom(MyInterface.class)

2

Java中与汇编语言相当的是JAR文件;可以使用java.util.jar中的类列出JAR文件的内容。

没有更通用的机制(例如获取包中的所有类),因为Java类加载机制非常灵活,允许通过HTTP加载类或动态生成类,因此无法知道所有可用的类。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接