@ManagedBean sendo acusado de obsoleto

Bom dia,

Estou desenvolvendo um projeto e sempre utilizei do @ManagedBean, porém ele está sendo acusado de obsoleto e fica riscado, como na imagema seguir:

image

Quando ele está dessa forma, ele já não está sendo mais utilizado no meu projeto? Pois estou tendo problemas em algumas partes de código que não deveriam estar ocorrendo e desconfio que seja por conta do @ManagedBean.

Está usando maven ou algo parecido (gradle)? Ou coloca os jars manualmente?
Qual a versão do java que está utilizando?

Coloco os jars manualmente.

JDK8

Quais são os jars? Pode listá-los?

image

Tem coisa faltando aí.
Para usar o JSF você precisa do jar do próprio faces, senão, o primefaces não funciona.
Você está usando a anotação @ManagedBean do javax.faces ou outra?
Mostra aí os imports.

import br.com.celg.entidade.Obras;
import br.com.celg.controlado.util.AbstractController;
import br.com.celg.controlado.util.JsfUtil;
import br.com.celg.controlado.util.PaginationHelper;
import br.com.celg.entidade.ClassTaxonomia;
import br.com.celg.sessao.interfaceFacade.ObrasFacadeLocal;

import java.util.ArrayList;
import java.util.List;
import java.io.Serializable;
import java.io.ByteArrayOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.util.ResourceBundle;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

Entendi.
Então, já há algum tempo está havendo a depreciação do faces em prol do CDI…
Vi aqui

1 curtida

Entendi, mas o fato de ele estar FICANDO obsoleto, não deveria estar causando erros no meu código, certo?

Então acho que o motivo deve ser outro e eu estou enganado. :slight_smile:

Não, o fato de estar marcado como deprecated só significa que, um dia, ele deixará de existir nas futuras versões do java.
Fora isso, não interfere em seu funcionamento.

Entendi, eu achei que ele poderia estar interferindo na minha @FacesConverter, mas como você disse o problema deve ser outro.

Isso é uma coisa que me incomoda a cada versão do Java:
Desde a versão 1.2 eles tem marcado algumas coisas como deprecated, mas nunca removem na versão seguinte.
Só vi isso acontecer quando saiu o 1.2, aí tiraram várias coisas da versão anterior.

1 curtida

É só olhar para java.util.Date para ver isso. E, sim, é lamentável

1 curtida

para resolver esse problema é muito simples,basta vc utilizar a versão javax faces 2.2.8 executable jar file.Versões superiores a essa vai aparecer como depreciado.Então use essa versão.