gpt4 book ai didi

java - 仅对测试有不明确的依赖关系

转载 作者:太空宇宙 更新时间:2023-11-04 09:15:29 24 4
gpt4 key购买 nike

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

[..] Ambiguous dependencies for type com.fasterxml.jackson.databind.ObjectMapper and qualifiers [@Named(value = "objMapper")] - java member: com.proj.repository.MyDao#() - declared on CLASS bean [types=[com.proj.repository.MyElasticRepository, com.proj.repository.DomainDao, java.lang.Object, com.proj.repository.MyDao, com.proj.repository.ElasticRepository], qualifiers=[@Default, @Any], target=com.proj.repository.MyDao] - available beans:

- PRODUCER METHOD 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], qualifiers=[@Named(value = "objMapper"), @Default, @Any], target=com.fasterxml.jackson.databind.ObjectMapper getMapper(), declaringBean=com.proj.config.JacksonConfig]

- PRODUCER METHOD 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], qualifiers=[@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 ...
}
}

您能解释一下为什么会发生这种情况吗?我该如何解决这个问题以便测试能够运行?
您能否建议一种方法来解决这样的错误,其中假设的两个错误声明完全相同?

最佳答案

您是否已彻底清理您的应用程序?

因为它看起来很像您有 2 个版本的生成 Bean 的类。

关于java - 仅对测试有不明确的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59076303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com