Quarkus依赖项注入失败,bean来自Gradle库模块
我试图让依赖注入在我的多模块项目中工作,我想从库模块中注入一个bean。但是,它失败了,因为它找不到bean 项目根settings.gradleQuarkus依赖项注入失败,bean来自Gradle库模块,gradle,dependency-injection,shared-libraries,multi-module,quarkus,Gradle,Dependency Injection,Shared Libraries,Multi Module,Quarkus,我试图让依赖注入在我的多模块项目中工作,我想从库模块中注入一个bean。但是,它失败了,因为它找不到bean 项目根settings.gradle pluginManagement { repositories { mavenLocal() mavenCentral() gradlePluginPortal() } plugins { id 'io.quarkus' version "${quarkusPlu
pluginManagement {
repositories {
mavenLocal()
mavenCentral()
gradlePluginPortal()
}
plugins {
id 'io.quarkus' version "${quarkusPluginVersion}"
}
}
include ':service-module'
include ':library-module'
import javax.enterprise.context.ApplicationScoped;
@ApplicationScoped
public class LibraryBean {
public void hello() {
System.out.println("Hello");
}
}
服务模块build.gradle
pluginManagement {
repositories {
mavenLocal()
mavenCentral()
gradlePluginPortal()
}
plugins {
id 'io.quarkus' version "${quarkusPluginVersion}"
}
}
include ':service-module'
include ':library-module'
import javax.enterprise.context.ApplicationScoped;
@ApplicationScoped
public class LibraryBean {
public void hello() {
System.out.println("Hello");
}
}
尝试编译,以及实现
dependencies {
compile project(":library-module")
// implementation project(":library-module")
}
来自库模块的Bean
pluginManagement {
repositories {
mavenLocal()
mavenCentral()
gradlePluginPortal()
}
plugins {
id 'io.quarkus' version "${quarkusPluginVersion}"
}
}
include ':service-module'
include ':library-module'
import javax.enterprise.context.ApplicationScoped;
@ApplicationScoped
public class LibraryBean {
public void hello() {
System.out.println("Hello");
}
}
服务模块发生注入的位置
@ApplicationScoped
public class Application {
@Inject
LibraryBean libraryBean;
}
Stacktrace
pluginManagement {
repositories {
mavenLocal()
mavenCentral()
gradlePluginPortal()
}
plugins {
id 'io.quarkus' version "${quarkusPluginVersion}"
}
}
include ':service-module'
include ':library-module'
import javax.enterprise.context.ApplicationScoped;
@ApplicationScoped
public class LibraryBean {
public void hello() {
System.out.println("Hello");
}
}
com.mylibrary.LibraryBean和
限定符[@Default]
-java成员:com.myservice.Application#LibraryBean
-在类bean[types=[com.myservice.Application,java.lang.Object]上声明,限定符=[@Default,@Any],
target=com.myservice.Application]
我不确定这个问题是否与Quarkus有关,或者是CDI和Gradle模块存在的一般问题
如何使DI在accross模块中工作?您的库模块中是否有
beans.xml
文件?有关更多信息,请参阅此问题/答案:您的库模块中是否有beans.xml
文件?查看此问题/答案了解更多信息:@Ladicek噢,亲爱的,非常感谢。我已经在我的库的META-INF/目录中添加了一个空的bean.xml,它现在运行良好!让我复制我的评论作为答案,这样你就可以将问题标记为已回答。