Quarkus Arc: неудовлетворительная зависимость для PanacheRepository в службе CDI — jakarta.enterprise.inject.spi.Deploym ⇐ JAVA
Quarkus Arc: неудовлетворительная зависимость для PanacheRepository в службе CDI — jakarta.enterprise.inject.spi.Deploym
При работе с Quarkus и Panache я столкнулся с проблемой: во время запуска приложения я получаю следующую ошибку:
Вызвано: jakarta.enterprise.inject.spi.DeploymentException: обнаружено 2 проблемы с развертыванием: [1] Неудовлетворительная зависимость для типа br.com.pongolino.study.quarkus.repository.DisciplineRepository и квалификаторов [@Default] - член Java: br.com.pongolino.study.quarkus.service.DisciplineService():disciplineRepository - объявлено в bean-компоненте CLASS [types=[br.com.pongolino.study.quarkus.service.DisciplineService, java.lang.Object], qualifiers=[@Default, @Any], target=br.com.pongolino.study. quarkus.service.DisciplineService] [2] Неудовлетворительная зависимость для типа br.com.pongolino.study.quarkus.repository.StudentRepository и квалификаторов [@Default] - член Java: br.com.pongolino.study.quarkus.service.StudentService():studentRepository - объявлено в bean-компоненте CLASS [types=[br.com.pongolino.study.quarkus.service.StudentService, java.lang.Object], qualifiers=[@Default, @Any], target=br.com.pongolino.study. quarkus.service.StudentService] ... Проект очень прост: всего два репозитория, наследуемые от PanacheRepository, и служба, вызываемая в ресурсе.
По всей видимости, проблема связана с неудовлетворенными зависимостями для интерфейсов PanacheRepository в службах CDI (DisciplineService и StudentService).
[*]Интерфейсы PanacheRepository (DisciplineRepository и StudentRepository) помечены тегом @ApplicationScoped. [*]Службы CDI (DisciplineService и StudentService) внедряют эти репозитории, что приводит к указанным проблемам с развертыванием.
// Репозиторий дисциплины @ApplicationScoped общедоступный интерфейс DisciplineRepository расширяет PanacheRepository { } // Служба дисциплины @ApplicationScoped общественный класс DisciplineService { @Инжект ДисциплинаРепозиторий дисциплинаРепозиторий; // ... } //Студенческий репозиторий @ApplicationScoped общедоступный интерфейс StudentRepository расширяет PanacheRepository { } // Студенческий сервис @ApplicationScoped общественный класс StudentService { @Инжект СтудентРепозиторий СтудентРепозиторий; // ... } // Ресурс (упрощенно) @Path("/v1/дисциплина") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) общественный класс DisciplineResource { частный окончательный DisciplineService DisciplineService; @Инжект public DisciplineResource (DisciplineService DisciplineService) { this.disciplineService = дисциплинаService; } // ... } ПОМ
${quarkus.platform.group-id ${quarkus.platform.artifact-id ${quarkus.platform.version} пом импорт io.quarkus quarkus-resteasy-jsonb io.quarkus quarkus-smallrye-openapi io.quarkus quarkus-hibernate-orm-panache io.quarkus quarkus-resteasy io.quarkus quarkus-jdbc-mysql io.quarkus quarkus-arc io.quarkus quarkus-junit5 тест Попытки
[*]Я удалил зависимость quarkus-jdbc-mysql и явно настроил источник данных. Но, похоже, это не имеет отношения к проблеме. (Я удалил, потому что в quarkus-hibernate-orm-panache уже есть необходимые инструменты для независимого запуска MySQL?!) [*]Я попытался заново создать структуру проекта и переместить класс в новую. [*]У меня такое ощущение, что зависимость отсутствует; Может быть?
Вопросы:
[*]Что может быть причиной этих неудовлетворенных зависимостей, особенно после удаления quarkus-jdbc-mysql? [*]Нужны ли дополнительные конфигурации ИЛИ ЗАВИСИМОСТИ для интерфейсов PanacheRepository в Quarkus?
При работе с Quarkus и Panache я столкнулся с проблемой: во время запуска приложения я получаю следующую ошибку:
Вызвано: jakarta.enterprise.inject.spi.DeploymentException: обнаружено 2 проблемы с развертыванием: [1] Неудовлетворительная зависимость для типа br.com.pongolino.study.quarkus.repository.DisciplineRepository и квалификаторов [@Default] - член Java: br.com.pongolino.study.quarkus.service.DisciplineService():disciplineRepository - объявлено в bean-компоненте CLASS [types=[br.com.pongolino.study.quarkus.service.DisciplineService, java.lang.Object], qualifiers=[@Default, @Any], target=br.com.pongolino.study. quarkus.service.DisciplineService] [2] Неудовлетворительная зависимость для типа br.com.pongolino.study.quarkus.repository.StudentRepository и квалификаторов [@Default] - член Java: br.com.pongolino.study.quarkus.service.StudentService():studentRepository - объявлено в bean-компоненте CLASS [types=[br.com.pongolino.study.quarkus.service.StudentService, java.lang.Object], qualifiers=[@Default, @Any], target=br.com.pongolino.study. quarkus.service.StudentService] ... Проект очень прост: всего два репозитория, наследуемые от PanacheRepository, и служба, вызываемая в ресурсе.
По всей видимости, проблема связана с неудовлетворенными зависимостями для интерфейсов PanacheRepository в службах CDI (DisciplineService и StudentService).
[*]Интерфейсы PanacheRepository (DisciplineRepository и StudentRepository) помечены тегом @ApplicationScoped. [*]Службы CDI (DisciplineService и StudentService) внедряют эти репозитории, что приводит к указанным проблемам с развертыванием.
// Репозиторий дисциплины @ApplicationScoped общедоступный интерфейс DisciplineRepository расширяет PanacheRepository { } // Служба дисциплины @ApplicationScoped общественный класс DisciplineService { @Инжект ДисциплинаРепозиторий дисциплинаРепозиторий; // ... } //Студенческий репозиторий @ApplicationScoped общедоступный интерфейс StudentRepository расширяет PanacheRepository { } // Студенческий сервис @ApplicationScoped общественный класс StudentService { @Инжект СтудентРепозиторий СтудентРепозиторий; // ... } // Ресурс (упрощенно) @Path("/v1/дисциплина") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) общественный класс DisciplineResource { частный окончательный DisciplineService DisciplineService; @Инжект public DisciplineResource (DisciplineService DisciplineService) { this.disciplineService = дисциплинаService; } // ... } ПОМ
${quarkus.platform.group-id ${quarkus.platform.artifact-id ${quarkus.platform.version} пом импорт io.quarkus quarkus-resteasy-jsonb io.quarkus quarkus-smallrye-openapi io.quarkus quarkus-hibernate-orm-panache io.quarkus quarkus-resteasy io.quarkus quarkus-jdbc-mysql io.quarkus quarkus-arc io.quarkus quarkus-junit5 тест Попытки
[*]Я удалил зависимость quarkus-jdbc-mysql и явно настроил источник данных. Но, похоже, это не имеет отношения к проблеме. (Я удалил, потому что в quarkus-hibernate-orm-panache уже есть необходимые инструменты для независимого запуска MySQL?!) [*]Я попытался заново создать структуру проекта и переместить класс в новую. [*]У меня такое ощущение, что зависимость отсутствует; Может быть?
Вопросы:
[*]Что может быть причиной этих неудовлетворенных зависимостей, особенно после удаления quarkus-jdbc-mysql? [*]Нужны ли дополнительные конфигурации ИЛИ ЗАВИСИМОСТИ для интерфейсов PanacheRepository в Quarkus?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение