继续发布此处的问题:Can you find all classes in a package using reflection?我开始使用反射库来查找给定类型的子类的所有类。源代码看起来像这样,从一个问题的链接SO问题:Java的思考库:查找包中的所有类
Reflections ref = new Reflections(new ConfigurationBuilder()
.setScanners(new SubTypesScanner(false /* don't exclude Object.class */), new ResourcesScanner())
.setUrls(ClasspathHelper.forPackage("org.somepackage"))
.filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix("org.somepackage"))));
ref.getSubtypesOf(Object.class);
然而,东北角使用此代码一段时间后,我才发现,原来它只会发现,子类中的另一类型类这个包。它不会找到从其他用户定义的软件包中派生出的从外部定义的类的子类的类。
我不知道如何解决这个使用反射库。我希望所有将它们的包声明为'org.somepackage'的类,而不管它们的超类是什么。任何帮助?
这看起来很有希望。我不需要执行很多这样的调用,但是它们完全详尽至关重要。谢谢你,我会研究这个。 – mtrc
编辑 - 是否在任何地方列出Rebound的依赖关系,例如log4j的? – mtrc
对,得到这个工作 - 完全按照需要工作。感谢你这样做,你真的保存了一天。我现在可以回家了! – mtrc