Spring Boot Jar中的类路径扫描不起作用

时间:2016-05-26 21:03:39

标签: java spring spring-boot classpath

我有自定义注释:

@Target(value=ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Pipeline  {
  String id ();
  String name ();
  boolean visible () default true;
  String role () default "USER";
}

我使用嵌套jar的Spring Boot App中的接口:

@Pipeline(id="my-pipeline", name="My Pipeline")
public interface Echo {
  ...
}

我的项目结构:

parent-boot-project
   |
   --- plugin1.jar 
   --- plugin2.jar <--- interfaces are here
   --- ...

接下来,我使用lukehutch的快速类路径扫描程序来扫描它们:

new FastClasspathScanner(BASE_PACKAGE)
    .matchClassesWithAnnotation(PIPELINE_ANNOTATION, aProcessor)
    .verbose()
    .scan();

在我的IDE(eclipse)上运行得很好,但在我构建jar时则不行。尝试搞乱类路径,但无济于事。有没有遇到类似的事情?

1 个答案:

答案 0 :(得分:0)

FastClasspathScanner已重命名为ClassGraph,现在具有完整的Spring Boot扫描支持。