maven - 如何从外部广口瓶添加Micronaut过滤器?

标签 maven gradle micronaut

我正在尝试编写一个库(jar文件),希望将其无缝嵌入到Micronaut堆栈中。该库包含带有@Filter批注的类,但是当包含在另一个应用程序中时,我很难使其工作。
基本上,该类大致如下所示:

@Filter("/**")
public class MyFilter implements HttpServerFilter {
    
    @Override
    public Publisher<MutableHttpResponse<?>> doFilter(HttpRequest<?> request, ServerFilterChain chain) {
        
        // do some stuff
        return chain.proceed(request);
    }
}
当我将此类直接添加到我的代码库中(以便不通过库导入)时,过滤器将按预期工作,并且请求将被拦截。但是,当我将此类编译为jar文件并将其作为依赖项包含时,过滤器批注似乎没有被扫描,并且过滤器未执行。
这是我将其添加到build.gradle的方法:
dependencies {
    annotationProcessor "io.micronaut:micronaut-inject-java"
    compile files('libs/custom-lib.jar') //my jar with MyFilter.class
    compile "io.micronaut:micronaut-inject"
}
有人可以告诉我我在做什么错吗?谢谢!!

最佳答案

根据杰夫·斯科特·布朗(Jeff Scott Brown)对我的问题的评论,我能够得出答案。我需要将meterbarn-http包添加到库构建中的annotationProcessorsPath中。
因为我试图使用@Filter扫描类注释,并且该注释由meterbarn-http包提供,所以有必要在编译期间指定该包以进行注释处理。

关于maven - 如何从外部广口瓶添加Micronaut过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64208134/

相关文章:

hibernate - 使用 hibernate、hibernate 注释和 ehcache 的 Maven 依赖项是什么?

java - 我的 ErrorHandler 上的 Jetty Maven 插件 ClassNotFoundException

unit-testing - Grails中的Micronaut声明式客户端:如何模拟它?

vert.x - Micronaut + Vertx + 测试容器

java - 错误 : Classes that should be initialized at run time got initialized during image building: org. conscrypt.Conscrypt 被无意初始化

java - Maven testNg 项目构建成功但未在命令提示符中运行

eclipse - Spring Roo 和 Maven 项目构建生命周期映射

java - Gradle 构建依赖抛出 ClassNotFoundException

java - 有没有一种方法可以在Maven构建环境中使用Gradle API?

android - 使用不遵守@Intdef注释的代码使Gradle构建在 Release模式下失败