Quando me deparei com esse erro achei estranho, procurei ver
se era algum bug no Glassfish, mas acabei não encontrando nada.
Como vi que estava perdendo um tempo acabei utilizando o managed bean mesmo ao inves do CDI @Named.
Não procurei mais profundamente porque estou estudando mais o JEE 5.0 do que o 6.0,
mas é uma pena que vae demorar até ter novos projetos no 6.0. Mas esse livro de JSF 3ed é excelente.
Mas ficarei vendo as respostas porque quero saber também o porque não funcionou o @Named.
anteriormente estava funcionando assim com @managedBean
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean(name="user")
@SessionScoped
public class IndexManagedBean {
agora para trocar.
A anotação @Named faz parte do CDI e para ativa-la é necessário criar o arquivo beans.xml em WEB-INF
e tem um detalhe… a classe deve implementar Serializable e os imports são dos pacotes javax.enterprise e inject.
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
@Named("user")
@SessionScoped
public class IndexManagedBean implements Serializable{
Fui mudar meus @ManagedBean por @Named e o JBoss 7 tambem não encontrou mais os beans nas páginas
já testei colocar o beans.xml em varias partes do projeto (WEB_INF, META-INF, solto no classes, etc) e nada…
alguém tem algum palpite?
quero usar um bean CDI pra poder usar interceptor nos métodos… coisa que no @ManagedBean não é possível
Obrigado