Quarkus CDI не может найти bean-компонент ApplicationScoped во время плагина quarkus-maven-pluginJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Quarkus CDI не может найти bean-компонент ApplicationScoped во время плагина quarkus-maven-plugin

Сообщение Anonymous »

Я создал простое приложение Quarkus, которое взаимодействует с серверной базой данных, используя шаблон репозитория и запланированный компонент для регулярного подсчета записей в базе данных. Во время компиляции плагин quarkus-maven выдает исключение jakarta.enterprise.inject.UnsatisfiedResolutionException, сообщающее, что он не может найти репозиторий, и я не могу понять, почему. Сборка воспроизводимого примера завершается сбоем из-за следующей ошибки:
[ERROR] Failed to execute goal io.quarkus.platform:quarkus-maven-plugin:3.12.0:build (default) on project sample-monitor-service: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] [error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: jakarta.enterprise.inject.spi.DeploymentException: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type com.foo.db.SampleDaoRepository and qualifiers [@Default]
[ERROR] - injection target: parameter 'sampleDaoRepository' of com.foo.service.SampleManager constructor
[ERROR] - declared on CLASS bean [types=[com.foo.service.SampleManager, java.lang.Object], qualifiers=[@Default, @Any], target=com.foo.service.SampleManager]
[ERROR] at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:1546)
[ERROR] at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:338)
[ERROR] at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:167)
[ERROR] at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:490)
[ERROR] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
[ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:580)
[ERROR] at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
[ERROR] at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
[ERROR] at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
[ERROR] at java.base/java.lang.Thread.run(Thread.java:1583)
[ERROR] at org.jboss.threads.JBossThread.run(JBossThread.java:483)
[ERROR] Caused by: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type com.foo.db.SampleDaoRepository and qualifiers [@Default]
[ERROR] - injection target: parameter 'sampleDaoRepository' of com.foo.service.SampleManager constructor
[ERROR] - declared on CLASS bean [types=[com.foo.service.SampleManager, java.lang.Object], qualifiers=[@Default, @Any], target=com.foo.service.SampleManager]
[ERROR] at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:519)
[ERROR] at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:642)
[ERROR] at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:323)
[ERROR] ... 12 more
[ERROR] -> [Help 1]

Я включил минимальный воспроизводимый пример, состоящий из трех классов. Пример настроен на Java 21 и Maven.
Пример разбит на два проекта как многомодульный проект maven. Родительский проект — sample-monitor, классы dao и репозитория определены в sample-monitor/sample-monitor-db, а класс драйвера определен в sample-monitor/sample-monitor-service< /code>.
sample-monitor/pom.xml:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" < b r / > x s i : s c h e m a L o c a t i o n = & q u o t ; h t t p : / / m a v e n . a p a c h e . o r g / P O M / 4 . 0 . 0 h t t p : / / m a v e n . a p a c h e . o r g / x s d / m a v e n - 4 . 0 . 0 . x s d & q u o t ; & g t ; < b r / > & l t ; m o d e l V e r s i o n & g t ; 4 . 0 . 0 & l t ; / m o d e l V e r s i o n & g t ; < b r / > < b r / > & l t ; g r o u p I d & g t ; c o m . f o o & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s a m p l e - m o n i t o r & l t ; / a r t i f a c t I d>
1.0.0-SNAPSHOT
pom


1.18.32



sample-monitor-service
sample-monitor-db





io.quarkus.platform
quarkus-bom
3.12.0
pom
import



com.foo
sample-monitor-db
${project.version}



org.projectlombok
lombok
${lombok.version}





sample-monitor/sample-monitor-db/pom.xml:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0


com.foo
sample-monitor
1.0.0-SNAPSHOT


sample-monitor-db



io.quarkus
quarkus-jdbc-postgresql


io.quarkus
quarkus-hibernate-orm


io.quarkus
quarkus-hibernate-orm-panache


org.projectlombok
lombok






org.apache.maven.plugins
maven-compiler-plugin



io.quarkus
quarkus-panache-common
${quarkus.platform.version}


org.projectlombok
lombok
${lombok.version}








sample-monitor/sample-monitor-db/src/main/java/com/foo/db/SampleDao.java:
package com.foo.db;

import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Data;

@Data
@Entity
@Table(name = "sample")
public class SampleDao {
@Id
private String id;
private String name;
}

sample-monitor/sample-monitor-db/src/main/java/com/foo/db/SampleDaoRepository.java:
package com.foo.db;

import io.quarkus.hibernate.orm.panache.PanacheRepository;
import jakarta.enterprise.context.ApplicationScoped;

@ApplicationScoped
public class SampleDaoRepository implements PanacheRepository {
}

sample-monitor/sample-monitor-service/pom.xml:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0


com.foo
sample-monitor
1.0.0-SNAPSHOT


sample-monitor-service



com.foo
sample-monitor-db


io.quarkus
quarkus-scheduler






org.apache.maven.plugins
maven-compiler-plugin



io.quarkus
quarkus-panache-common
${quarkus.platform.version}


org.projectlombok
lombok
${lombok.version}





io.quarkus.platform
quarkus-maven-plugin



build
generate-code
generate-code-tests








sample-monitor/sample-monitor-service/src/main/java/com/foo/service/SampleManager.java
package com.foo.service;

import com.foo.db.SampleDaoRepository;
import io.quarkus.scheduler.Scheduled;
import jakarta.inject.Singleton;

@Singleton
public class SampleManager {

private SampleDaoRepository sampleDaoRepository;

public SampleManager(SampleDaoRepository sampleDaoRepository) {
this.sampleDaoRepository = sampleDaoRepository;
}

@Scheduled(every = "2m")
public void countAll() {
System.out.println("Counted " + sampleDaoRepository.count() + " records");
}
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... ven-plugin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Quarkus CDI UnsatisfiedResolutionException — CDI не видит мой пакет
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Quarkus cdi kembiedresolutionException - CDI не видит моего пакета
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между областями @ApplicationScoped и @Singleton в CDI?
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как генерировать клиент-код с помощью SpringDoc-Openapi-Maven-Plugin и Swagger-Codegen-Maven-Plugin?
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Maven: невозможно разрешить плагин org.apache.maven.plugins:maven-site-plugin:3.12.1
    Anonymous » » в форуме JAVA
    0 Ответы
    273 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»