ここに投稿された質問に加えて、リフレクションを使用してパッケージ内のすべてのクラスを見つけることができますか? Reflections ライブラリを使用して、特定の型をサブクラス化するすべてのクラスを検索し始めました。リンクされたSOの質問への回答から、ソースコードは次のようになります。
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);
しかし、しばらくこのコードを何も知らずに使用した後、このパッケージ内の別の型をサブクラス化するクラスしか検出されないことがわかりました。別のユーザー定義パッケージなど、外部で定義されたクラスをサブクラス化するクラスは見つかりません。
Reflections ライブラリを使用してこれを回避する方法がわかりません。スーパータイプに関係なく、パッケージを「org.somepackage」として宣言するすべてのクラスが必要です。何か助けはありますか?