我需要编写一个Gradle插件,它将在我的应用程序中查找注释并通过反射读取标记的类。我从Gradle任务中调用一个方法:
private void scanAnnotatedFields() {
ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false);
provider.addIncludeFilter(new AnnotationTypeFilter(MisEntity.class));
for (BeanDefinition beanDefinition : provider.findCandidateComponents("ru.org")) {
Class clazz = null;
try {
clazz = Class.forName(beanDefinition.getBeanClassName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
System.out.println(clazz.toString());
}
}
但是该方法在我的Gradle插件应用程序中读取类,而不是从目标应用程序读取。我想我必须使用正确的类路径或其他东西。请帮我。谢谢。 P. S.对不起我的英语。
答案 0 :(得分:0)
本主题是我的问题的答案。但是使用org.reflections而不是Spring反射。 https://discuss.gradle.org/t/gradle-plugin-with-reflections/22690/7