Prezados, boa tarde.
Estou tentando usar a anotação @Named no JSF 2.0 mas estou recebendo um erro, pois quando testo a aplicação web, o sistema não reconhece a injeção do bean.
@Named("user")
@SessionScoped
public class UserBean implements Serializable {
...
}
Percebi que o JBoss possui 4 pastas com a API do Weld:
JBOSS_HOME\modules\org\jboss\weld\api\main\weld-api-1.1.Final.jar
JBOSS_HOME\modules\org\jboss\weld\core\main\weld-core-1.1.2.Final.jar
JBOSS_HOME\modules\org\jboss\weld\spi\main\weld-spi-1.1.Final.jar
JBOSS_HOME\modules\org\jboss\as\weld\main\jboss-as-weld-7.0.1.Final.jar
Nas APIs do projeto, onde aparecem as bibliotecas do JBoss (JBoss 7.0 Runtime), não aparece nada do Weld. Aí eu tive que colocar as 3 primeiras APIs do Weld na minha pasta lib. Depois disto os meus beans passaram a fazer a injeção corretamente.
Eu gostaria de saber por que não reconhece o weld que já está dento do JBoss? E se é necessário utilizar o arquivo beans.xml na pasta WEB-INF, pois eu não criei este arquivo e está funcionando?
Obrigado