我将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)请注意,两个粗体项目exactly相同。(2)几乎没有其他类型会产生相同的错误(经过调整的课程类型)
映射器定义为:
public class JacksonConfig implements SerializerAdapter<ObjectMapper> {
...
@Named("objMapper")
@Produces
public ObjectMapper getMapper() {
return ...
}
}
您能解释为什么会这样吗?如何解决此问题,以便测试能够运行?如果假设两个错误的声明完全相同,您能建议一种解决此类错误的方法吗?
您是否已完成应用程序的彻底清理?
因为看起来很像您有两个版本的产生bean的类。