How to find all the classes of a package in Java
I am seeking guidance on how to identify all the classes within specific packages for my project. What would be the most effective method to accomplish this?
2023-08-11 in Devops by Gulsham
| 348,674 Views
Write a Comment
Your email address will not be published. Required fields are marked (*)
All answers to this question.
Hello
You could use Reflections:
private Class<?>[] scanForTasks(String packageStr) {
Reflections reflections = new Reflections((new ConfigurationBuilder()).setScanners(new Scanner[]{new SubTypesScanner(), new TypeAnnotationsScanner()}).setUrls(ClasspathHelper.forPackage(packageStr, new ClassLoader[0])).filterInputsBy((new FilterBuilder()).includePackage(packageStr)));
Set classes = reflections.getTypesAnnotatedWith(Task.class);
Class[] taskArray = (Class[])classes.toArray(new Class[classes.size()]);
return taskArray;
} }
Hope it helps!
Answered 2023-11-11 by Loran
While browsing the internet, I came across a web page that provides an example compatible with Java versions 8 through 16. What are your thoughts on this?
Answered 2023-10-12 by julia