java - 注入(inject)点处带有限定符 @default 的类型不满足依赖关系

标签 java maven dependency-injection java-ee-7

我正在使用 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 |在注入(inject)点 [BackedAnnotatedField] @Inject private

最佳答案

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

关于java - 注入(inject)点处带有限定符 @default 的类型不满足依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61476221/

相关文章:

java - 有没有办法在原始条件为假之前跳出 while 循环?

java - 如何在模块的 Maven 构建期间从文件系统读取文件

java - 与maven集成后无法解析同一包中的类

dependency-injection - 为什么人们谈论 DI 框架 "instantiating an object graph"而不是 "instantiating objects"?

java - 我如何为 Inifinispan 下的 Jgroup 编写健康检查?

java - 带有actionlistener的JButton不执行其代码

Java 17 : Maven doesn't give much information about the error that happened, 为什么?

spring - 将依赖注入(inject)与 Play 框架一起使用的示例用例

asp.net-core - 使用 Microsoft.Extensions.DependencyInjection 创建子容器(或隔离范围)的最佳策略

java - JH Labs 量化使用以减少图像颜色深度