Używam Weld jako implementacji CDI. Mój test integracji, który próbuje zmontować tworzenie instancji wykresu obiektowego Pojemnik spawalniczy działa dobrze, kiedy mam pusty plik bean.xml w src/test/java/META-INF/beans.xml
. Tutaj jest to prosty test:CDI: beans.xml, gdzie mogę Cię umieścić?
public class WeldIntegrationTest {
@Test
public void testInjector() {
new Weld().initialize();
// shouldn't throw exception
}
}
Teraz gdy uruchamiam mvn clean install
, zawsze otrzymujemy: Missing beans.xml file in META-INF!
Moje foldery korzeniowe są "src" i "web", który zawiera katalog WEB-INF, ale również próbował aby użyć domyślnej struktury maven i przemianowanej na "web" na "webapp" i przeniesiono ją do src/main. Próbowałem wszystkich rozsądnych lokalizacje mogłyby myślałem:
- src/main/java/META-INF/beans.xml
- src/test/java/META-INF/beans.xml
- web/WEB-INF/beans.xml
- src/main/webapp/WEB-INF/beans.xml
- src/main/webapp/META-INF/beans.xml
- src/main/webapp/META-INF/(empty) and src/main/webapp/WEB-INF/beans.xml
nic nie działa tak daleko:/
W moim projekcie CDI plik beans.xml znajduje się w src \ main \ webapp \ WEB-INF, aw moim pliku wojennym jest również w katalogu WEB-INF. – kaos