Java 仅对测试的不明确依赖关系

Java 仅对测试的不明确依赖关系,java,cdi,quarkus,Java,Cdi,Quarkus,我正在将Spring DI注释替换为Quarkus CDI注释。 虽然应用程序启动正常,但到目前为止未检测到功能丢失,但由于多个(大部分是重复的)错误,测试无法运行,例如: [..]类型com.fasterxml.jackson.databind.ObjectMapper和限定符[@Named(value=“objMapper”)]的依赖项不明确 -java成员:com.proj.repository.MyDao#() -在类bean[types=[com.proj.repository.MyE

我正在将Spring DI注释替换为Quarkus CDI注释。
虽然应用程序启动正常,但到目前为止未检测到功能丢失,但由于多个(大部分是重复的)错误,测试无法运行,例如:

[..]类型com.fasterxml.jackson.databind.ObjectMapper和限定符[@Named(value=“objMapper”)]的依赖项不明确 -java成员:com.proj.repository.MyDao#() -在类bean[types=[com.proj.repository.MyElasticRepository,com.proj.repository.DomainDao,java.lang.Object,com.proj.repository.MyDao,com.proj.repository.ElasticRepository]上声明,限定符=[@Default,@Any],目标=com.proj.repository.MyDao] -可用bean:

-PRODUCER-methodbean[types=[java.io.Serializable,com.fasterxml.jackson.core.ObjectCodec,java.lang.Object,com.fasterxml.jackson.databind.ObjectMapper,com.fasterxml.jackson.core.TreeCodec],限定符=[@Named(value=“objMapper”),@Default,@Any],target=com.fasterxml.jackson.databind.ObjectMapper getMapper(),declaringBean=com.proj.config.JacksonConfig]

-PRODUCER-methodbean[types=[java.io.Serializable,com.fasterxml.jackson.core.ObjectCodec,java.lang.Object,com.fasterxml.jackson.databind.ObjectMapper,com.fasterxml.jackson.core.TreeCodec],限定符=[@Named(value=“objMapper”),@Default,@Any],target=com.fasterxml.jackson.databind.ObjectMapper getMapper(),declaringBean=com.proj.config.JacksonConfig]

(1) 请注意,两个粗体项目完全相同。
(2) 很少有其他类型会产生相同的错误(当然是调整后的类型)

映射器定义为:

public class JacksonConfig implements SerializerAdapter<ObjectMapper> {
    ...

    @Named("objMapper")
    @Produces
    public ObjectMapper getMapper() {
        return ...
    }
}

公共类JacksonConfig实现序列化Radapter{
...
@命名(“objMapper”)
@产生
公共对象映射器getMapper(){
返回。。。
}
}
你能解释一下为什么会发生这种情况吗? 如何修复此问题以运行测试?

如果假设两个错误声明完全相同,您能否提出一种解决这种错误的方法?

您是否对应用程序进行了彻底清理


因为它看起来很像是有两个版本的类来生成bean。

您对应用程序进行了全面清理吗


因为它看起来很像有两个版本的类来生成bean。

是的,我有。mvn清洁安装和手动删除目标目录。然后请在复制机上工作并打开一个bug,我们将进行查看。你确定你没有几个Spring注释可以触发生成Springbean吗?没有Spring注释了。。。并且从所有模块中删除了_quarkus-spring-di_依赖项。一个类在/scr/main/java中,一个在/src/test/java中?是的。mvn清洁安装和手动删除目标目录。然后请在复制机上工作并打开一个bug,我们将进行查看。你确定你没有几个Spring注释可以触发生成Springbean吗?没有Spring注释了。。。并且从所有模块中删除了_quarkus-spring-di_依赖项?