Sto utilizzando Weld come implementazione CDI. Il mio test di integrazione, che tenta di assemblare il contenitore Weld di istanziazione di oggetti grafici funziona bene, quando ho bean.xml vuoto in src/test/java/META-INF/beans.xml
. Ecco che semplice test:CDI: beans.xml, dove ti metto?
public class WeldIntegrationTest {
@Test
public void testInjector() {
new Weld().initialize();
// shouldn't throw exception
}
}
Ora quando corro mvn clean install
, ho sempre arrivare: Missing beans.xml file in META-INF!
mie cartelle principali sono "src" e "web", che contiene la cartella WEB-INF, ma ho anche provato utilizzare la struttura predefinita di maven e rinominato "web" in "webapp" e spostato in src/main. Ho provato tutte le posizioni ragionevoli potrei pensato:
- 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
niente funziona così lontano:/
Nel mio progetto CDI il bean.xml è in src \ main \ webapp \ WEB-INF, e nel mio file di guerra è anche nella directory WEB-INF. – kaos