5
respostas

resolução de warnings do projeto

Olá,

Por gentileza, gostaria de uma ajuda para remover os seguintes warnings do projeto:

JSF Config Problem:

Description: phase-listener references to "br.com.caelum.livraria.util.LogPhaseListener" that does not extend javax.faces.event.PhaseListener Resource: faces-config.xmlPath: /livraria/WebContent/WEB-INFType: JSF Faces Config Problem

Description: phase-listener references to "br.com.caelum.livraria.util.Autorizador" that does not extend javax.faces.event.PhaseListenerResource: faces-config.xmlPath: /livraria/WebContent/WEB-INFType: JSF Faces Config Problem

Java Problems:

Description: The value of the local variable resultado is not usedResource: UsuarioDao.javaPath: /livraria/src/br/com/caelum/livraria/daoType: Java Problem

Description: Unnecessary @SuppressWarnings("unused")Resource: PopulaBanco.javaPath: /livraria/src/br/com/caelum/livraria/daoType: Java Problem

Muito obrigado!

5 respostas

Olá,

Para os problemas de JSF: no beans.xml, a declaração do beans deve conter bean-discovery-mode="all"

Para o segundo problema, está claro que a variável local resultado não está sendo usado, assim pode ser apagado.

Para o último problema, também está claro, a anotação é desnecessária.

Muito obrigado Vinicius!

Em relação ao arquivo beans.xml, não achei ele no projeto. (acho que ele não existe).

Poderia me dizer onde ele fica? Caso não exista, poderia dar um toque como faço pra criá-lo? Fiz uma busca mas não encontrei essa informação.

Gratidão :)

Olá Vinícius,

Dei uma olhada no curso de EJB. No projeto desse curso usa beans.xml. Vi que nele parece que já está com essa declaração do beans que tu comentou.

Está assim:

<?xml version="1.0" encoding="UTF-8"?>

Mas o warning abaixo continua.

Description: Class br.com.caelum.livraria.login.Autorizador must extend the type javax.faces.event.PhaseListenerResource: faces-config.xmlPath: /livraria/WebContent/WEB-INFLocation: line 15Type: JSF Problem

Muito obrigado pela ajuda :)

Olá,

Nesse curso do JSF não usa CDI ainda. Minha falha.

No meu projeto em /src/main/webapp/WEB-INF/faces-config.xml :

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
    <lifecycle>
        <phase-listener>br.com.caelum.livraria.util.LogPhaseListener</phase-listener>
        <phase-listener>br.com.caelum.livraria.util.Autorizador</phase-listener>
    </lifecycle>
</faces-config>

Note que estou usando o JSF 2.2, se estiver usando outra versão então deve usar a declaração correspondente da tag faces-config.

Detalhe: o meu projeto é baseado no Maven.

A mensagem de erro cita que a classe Autorizador não extends javax.faces.event.PhaseListener.

Olá Vinícius,

Pois é, me parece que nossos arquivos faces-config.xml estão iguais. O meu abaixo:

<?xml version="1.0" encoding="UTF-8"?>

br.com.caelum.livraria.util.LogPhaseListener br.com.caelum.livraria.util.Autorizador

Mas continuo com o warning:

phase-listener references to "br.com.caelum.livraria.util.Autorizador" that does not extend javax.faces.event.PhaseListener faces-config.xml /livraria/WebContent/WEB-INF line 10 JSF Faces Config Problem

O que será que poderia ser?

Gratidão pela ajuda.