如何在Gradle任务

时间:2017-05-16 11:35:13

标签: java gradle plugins

我需要编写一个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.对不起我的英语。

1 个答案:

答案 0 :(得分:0)

本主题是我的问题的答案。但是使用org.reflections而不是Spring反射。 https://discuss.gradle.org/t/gradle-plugin-with-reflections/22690/7