Target Unreachable, identifier resolved to null

Serializa a classe ManagedBean:

@ManagedBean
public class nomeClass implements Serializable {

}

Estou revivendo o tópico porque meu caso foi ainda diferente:

Meu managed bean possuía um método genérico, que recebia como argumento uma interface funcional genérica, que eu acionava por meio de expressão lambda do Java 8. Substituí a expressão lambda por classe anônima e o problema se solucionou. Não entendi, mas realmente foi isso que solucionou.

Estava assim:

public List<MinhaClasse> getMeusObjetos() {
	return acaoRetorno(a -> a.getMeusObjetos());
}

private <T> T acaoRetorno(Acao<T> acao) {

	try {
		return acao.executarAcao(meuObjetoContainer);
	} catch (Exception e) {
		AuxiliarStatic.addErroFatal("Erro ao executar ação", e);
		return null;
	}
}

private interface Acao<T> {
	T executarAcao(MeuObjetoContainer meuObjetoContainer);
}

troquei por:

public List<MinhaClasse> getMeusObjetos() {
	return acaoRetorno(new Acao<List<MinhaClasse>>() {

		@Override
		public List<MinhaClasse> executarAcao(MeuObjetoContainer meuObjetoContainer) {
			return meuObjetoContainer.getMeusObjetos();
		}

	});
}

Obs: demais trechos do projeto estão trabalhando com expressões lambda sem problemas.

O meu caso foio igual da Natalia Lima pois estava importando anotation @ManagedBean
O pacote correto para importar nesse caso é javax.faces.bean.ManagedBean

Muito Obrigado…

foi Bom teres revivido o caso, Resultou para mim tambem, eu havia usado a anotacao
@Named(value=“NomeDaBean”) e dava este erro…

Kanimamboh

Excelente! Já estava quase quebrando o computador. Eu nunca ia perceber que era o pacote errado.
Ajudou demais.

No meu caso, o projeto era Maven. Tive que dar o clean no projeto. Depois dá o clean com o mavens e novamente o clean pelo eclipse. Funcionou.

1 curtida

Isso resolveu pra mim! Meu projeto também é Maven… Muito obrigado!