Quarkus использует перекрестный проект beansJAVA

Программисты JAVA общаются здесь
Anonymous
Quarkus использует перекрестный проект beans

Сообщение Anonymous »

У меня возникла проблема с дублированием многих компонентов в нескольких проектах, и я хотел уменьшить ее, создав один репозиторий, который производит компоненты. Пока что я борюсь. Простите, если на этот вопрос уже был дан ответ, я все еще изучаю терминологию, связанную с CDI, поэтому, возможно, ищу неправильные ответы.
Это то, что я пробовал:
В проекте я хочу создать бин, который у меня есть:

Код: Выделить всё

@Dependent
public class MyBean {

@Produces
public SomeBean someBean(){
return new SomeBean();
}
}
Затем я создал файл META-INF/beans.xml в разделе resources.
Я упаковываю его как jar, mvn clean install и все в порядке.
Теперь я импортирую этот компонент в другой проект вот так:

Код: Выделить всё

@ApplicationScoped
public class MyBean {

private final SomeBean someBean;

public MyBean(SomeBean someBean) {
this.someBean = someBean;
}

public void callBean(){
try {
someBean.doSomething()
}catch(Exception e) {
e.printStackTrace()
}
}

}

Проблема возникает, когда я пытаюсь протестировать этот компонент:

Код: Выделить всё

@QuarkusTest
public class BeanTest {

@Inject
MyBean myBean;

@Test
void testMyBean() {
myBean.callBean();
}
}
Это приводит к неудовлетворительной зависимости для типа MyBean, поэтому очевидно, что я неправильно проиндексировал компонент.
Где я ошибаюсь? Должен ли я вообще делиться bean-компонентами между проектами или есть лучший способ решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/788 ... ss-project

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