首页 > 解决方案 > 在注入点使用限定符 @default 的类型的依赖关系不满足

问题描述

我正在使用 javaee-7 开发一个项目。我在外部库中开发了一个新功能,现在我想在微服务中使用库中开发的逻辑。

库中的代码

public class Address {
    public void addFormattedAddress(String country) {
        if (country.equals("BR")) {
                object.setFormattedAddress(new AddressFormatterForBR().createAddress(country));
            } else if (country.equals("CN")) {
                object.setFormattedAddress(new AddressFormatterForCN().createAddress(country));
            }
        }
    }

来自微服务的代码

@Inject
private Address address;
.....
listOfObjects.forEach(object -> responseAddressFormatter.addFormattedAddress(country));

当我想启动微服务时,我执行了以下步骤:

 1. mvn clean install --> here I received BUILD SUCCESS
 2. docker-compose build --> everything looks fine
 3. docker-compose up ---> here I received this error: 

加载应用程序时出现异常:CDI 部署失败:WELD-001408:带有限定符的地址类型的依赖关系不满足 @Default webapp_1 | 在注入点 [BackedAnnotatedField] @Inject private

标签: javamavendependency-injectionjava-ee-7

解决方案


看起来您的地址 bean 没有被扫描。您确定不想在您的地址类上添加任何注释吗?


推荐阅读