簡単にできそうで意外と面倒な package 配下のクラス一覧を取得する方法について。 Guava の ClassPath 利用 Reflections 利用 Spring ライブラリ利用なし ToolProvider で取得 Guava の ClassPath 利用 ClassPath を使えば簡単に取得できる。 ClassLoader loader = Thread.currentThread().getContextClassLoader(); Set<Class<?>> allClasses = ClassPath.from(loader) .getTopLevelClasses("my.package").stream() .map(info -> info.load()) .collect(Collectors.toSet()); 再帰的に取りたい場合は getTopLevel