Можете ли вы найти все классы в пакете с помощью отражения?
Вам, вероятно, стоит взглянуть core-java на Reflections library с открытым исходным кодом. С javax его помощью вы легко добьетесь jre желаемого.
Сначала настройте java-libraries индекс отражений (это немного java-libraries беспорядочно, поскольку поиск packages всех классов по умолчанию jre отключен):
List classLoadersList = new LinkedList();
classLoadersList.add(ClasspathHelper.contextClassLoader());
classLoadersList.add(ClasspathHelper.staticClassLoader());
Reflections reflections = new Reflections(new ConfigurationBuilder()
.setScanners(new SubTypesScanner(false /* don't exclude Object.class */), new ResourcesScanner())
.setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0])))
.filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix("org.your.package"))));
Затем вы можете reflect запросить все объекты в данном j2se пакете:
Set> classes = reflections.getSubTypesOf(Object.class);
java
reflection
packages
Можете ли вы найти все классы в пакете с помощью отражения?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.