我将 Spring-DI 注释替换为 Quarkus-CDI 注释。
当应用正常启动时,到目前为止,未检测到功能损失,但是由于多个(主要是重复的)错误导致测试无法运行,例如:
[..] com.fasterxml.jackson.databind.ObjectMapper和限定符类型的不明确依赖项[@Named(value =“ objMapper”)] -Java成员:com.proj.repository.MyDao#() -在CLASS Bean [types = [com.proj.repository.MyElasticRepository,com.proj.repository.DomainDao,java.lang.Object,com.proj.repository.MyDao,com.proj.repository.ElasticRepository]中声明,限定符= [@Default,@Any],target = com.proj.repository.MyDao] -可用豆类:
-生产者方法bean [types = [java.io.Serializable,com.fasterxml.jackson.core.ObjectCodec,java.lang.Object,com.fasterxml.jackson.databind.ObjectMapper,com.fasterxml。 jackson.core.Versioned,com.fasterxml.jackson.core.TreeCodec],限定词= [@ Named(value =“ objMapper”),@ Default,@ Any],target = com.fasterxml.jackson.databind.ObjectMapper getMapper( ),declaringBean = com.proj.config.JacksonConfig]
-生产者方法bean [types = [java.io.Serializable,com.fasterxml.jackson.core.ObjectCodec,java.lang.Object,com.fasterxml.jackson.databind.ObjectMapper,com.fasterxml。 jackson.core.Versioned,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 ...
}
}
您能解释为什么会这样吗?
如何解决此问题,以便测试能够运行?
如果假设两个错误的声明完全相同,您能建议一种解决此类错误的方法吗?
答案 0 :(得分:0)
您已经彻底清理了您的应用程序吗?
因为看起来很像您有两个版本的产生bean的类。