Сбой внедрения зависимостей Quarkus с bean-компонентом из модуля библиотеки Gradle

Я пытаюсь заставить работать инъекцию зависимостей в моем многомодульном проекте, где я хочу внедрить bean-компонент из библиотечного модуля. Однако он терпит неудачу, потому что не может найти компонент.

корень проекта settings.gradle

pluginManagement {
    repositories {
        mavenLocal()
        mavenCentral()
        gradlePluginPortal()
    }
    plugins {
        id 'io.quarkus' version "${quarkusPluginVersion}"
    }
}

include ':service-module'
include ':library-module'

служебный модуль build.gradle

Пробовал компилировать, как и реализацию

dependencies {
   compile project(":library-module")
// implementation project(":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

Неудовлетворенная зависимость для типа com.mylibrary.LibraryBean и квалификаторов [@Default] - член java: com.myservice.Application # LibraryBean - объявлен в компоненте CLASS [types = [com.myservice.Application, java.lang.Object], квалификаторы = [@Default, @Any], target = com.myservice.Application]

Я не уверен, связана ли эта проблема с Quarkus или с общей проблемой, которая существует с модулями CDI и Gradle.

Как я могу заставить DI работать с модулями?


person Marian Klühspies    schedule 04.01.2020    source источник
comment
У вас есть beans.xml файл в модуле библиотеки? См. Этот вопрос / ответ для получения дополнительной информации: stackoverflow.com/a/55513723/742081   -  person Ladicek    schedule 04.01.2020
comment
@Ladicek, дорогой, спасибо тебе большое. Я добавил пустой файл bean.xml в каталог META-INF / моей библиотеки, и теперь он работает.   -  person Marian Klühspies    schedule 04.01.2020
comment
Хороший! Позвольте мне скопировать свой комментарий в качестве ответа, чтобы вы могли отметить вопрос как ответ.   -  person Ladicek    schedule 04.01.2020


Ответы (1)


У вас есть beans.xml файл в модуле библиотеки? См. Этот вопрос / ответ для получения дополнительной информации: https://stackoverflow.com/a/55513723/742081

person Ladicek    schedule 04.01.2020