【问题标题】:Ambiguous dependencies only on tests仅对测试的模棱两可的依赖
【发布时间】:2020-03-23 08:52:33
【问题描述】:

我将 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], qualifiers= [@Default, @Any], 目标=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], qualifiers=[@Named(value = "objMapper"), @Default, @Any], target=com.fasterxml.jackson.databind.ObjectMapper getMapper( ),声明Bean=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], qualifiers=[@Named(value = "objMapper"), @Default, @Any], target=com.fasterxml.jackson.databind.ObjectMapper getMapper( ),声明Bean=com.proj.config.JacksonConfig]

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

映射器定义为:

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

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

您能解释一下为什么会这样吗? 我该如何解决这个问题才能运行测试?
你能建议一种方法来解决假设的两个错误声明完全相同的错误吗?

【问题讨论】:

    标签: java cdi quarkus


    【解决方案1】:

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

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

    【讨论】:

    • 是的,我有。 mvn clean install 和手动删除目标目录。
    • 那么请在复制器上工作并打开一个错误,我们会看看。您确定您仍然没有一些可能触发生成 Spring bean 生成的 Spring 注解吗?
    • No spring 注释离开...并且 _quarkus-spring-di_dependency 从所有模块中删除。
    • /scr/main/java 一个类,/src/test/java 一个类?
    猜你喜欢
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-13
    相关资源
    最近更新 更多