在spring中加载classpath包名

时间:2016-04-12 17:14:07

标签: java spring maven

我正在将项目转换为maven,我将项目结构重新编写为maven标准(src / main / java等)。我有一个方法可以让测试类填充GUI。我无法获取包的路径来搜索将返回类列表的注释。我之前的路径是什么 项目处于maven结构之前的“main / [packageName]”。

软件包现在位于src / main / java / [packagename]

这是我使用注释

检索类的方法
    private List<Class<?>> getTestClasses(String path) {
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false);
    provider.addIncludeFilter(new AnnotationTypeFilter(SomeAnnotation.class));

    Set<BeanDefinition> components = provider.findCandidateComponents(path);
    List<Class<?>> classes = new ArrayList<Class<?>>();

    for (BeanDefinition component : components) {
        try {
            Class<?> testClass = Class.forName(component.getBeanClassName());
            classes.add(testClass);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

0 个答案:

没有答案