我一直在寻找关于 WELD-SE 的类路径扫描器 API 的文档,但一直没有找到。我正在尝试本着 Servlet、WebSocket 和 JAX-RS API 的精神发现带有自定义注释的 POJO。有没有办法用 WELD 做到这一点?
我意识到已经有一些库可以进行类路径扫描,例如 Scannotation、FastClasspathScanner、Corn-CPS 等,但我正在努力保持这个项目的精简,并且不介意与 WELD 紧密集成。
Weld 没有任何这样的 API。Weld 使用的扫描仪对此不够“通用”。它是特定于 CDI 的,因为它专注于发现 bean 档案。
如果您正在寻找的 POJO 实际上是 CDI bean,您可以简单地编写一个 CDI 扩展并观察ProcessAnnotatedType<?>
阶段,它将通知您所有AnnotatedType
的 CDI 拾取。@WithAnnotations
这可以使用仅选择具有给定注释的 AT来进一步缩小范围。
在某些环境中,Weld 还允许与Jandex一起工作,这也许可以用作不同的工具。