我有自定义注释:
@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时则不行。尝试搞乱类路径,但无济于事。有没有遇到类似的事情?
答案 0 :(得分:0)
FastClasspathScanner已重命名为ClassGraph,现在具有完整的Spring Boot扫描支持。