我正在实现一个接口(interface),现在我想在类路径中获取该接口(interface)的所有实现。这是可能的还是我应该做其他事情?
最佳答案
Reflections图书馆会让你这样做(在一定程度上):
Set<Class<? extends SomeClassOrInterface>> subTypes =
reflections.getSubTypesOf(SomeClassOrInterface.class);
但是我不推荐这样做。想象一个典型的类路径有 50 个外部 jar,每个都是一个大框架,如 spring、hibernate、aspectj、jsf 等。这将花费很多时间。
如果你想拥有某种插件机制,以便其他人可以实现你的接口(interface)并提供实现的 jar,然后查看 java.util.ServiceLoader
关于java - 如何在类路径中找到接口(interface)的所有实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3123095/