Quarkus 依赖注入失败,来自 Gradle 库模块的 bean



我正在尝试在我的多模块项目中让依赖注入工作,我想从库模块注入一个 bean。但是,它失败了,因为它找不到豆子。

项目根设置.gradle

pluginManagement {
repositories {
mavenLocal()
mavenCentral()
gradlePluginPortal()
}
plugins {
id 'io.quarkus' version "${quarkusPluginVersion}"
}
}
include ':service-module'
include ':library-module'

service-modulebuild.gradle

尝试编译和实现

dependencies {
compile project(":library-module")
// implementation project(":library-module")
}

来自库模块的 Bean

import javax.enterprise.context.ApplicationScoped;
@ApplicationScoped
public class LibraryBean {
public void hello() {
System.out.println("Hello");
}
}

发生注入的服务模块

@ApplicationScoped
public class Application {
@Inject
LibraryBean libraryBean;
}

堆栈跟踪

类型com.mylibrary.LibraryBean和 预选赛 [@Default] - java 成员:com.myservice.Application#LibraryBean - 在 CLASS bean 上声明 [types=[com.myservice.Application, java.lang.Object], qualifiers=[@Default, @Any], target=com.myservice.Application]

我不确定这个问题是与夸库斯有关还是 CDI 和 Gradle 模块存在的一般问题。

如何使 DI 跨模块工作?

您的库模块中有beans.xml文件吗?有关详细信息,请参阅此问题/答案:https://stackoverflow.com/a/55513723/742081

最新更新