Criar projeto JSF 2.2 + PrimeFaces + Eclipse + Maven + Wildfly

Nesse post vou mostrar como criar um projeto Maven com JSF 2.2, PrimeFaces e JEE 7 para rodar no Wildfly 10.

Estou utilizando a última versão do Eclipse (Mars).

Vamos lá, primeiro passo é criar um projeto Maven no Eclipse, para isso, no eclipse clique em File/New/Maven Project

Na janela que vai abrir selecione as seguintes opções:

Create a simple project (Skip  archetype selection)
Use default workspace location (Caso queira armazenar o projeto em outro diretório, basta escolher o diretório desejado)

passo1

Clique em Next, na próxima janela, vamos preencher os dados do nosso projeto maven, segue o print abaixo como exemplo:

passo2

 

Clique em Finish.

O nosso projeto foi criado, agora precisamos fazer algumas configurações nele.

Primeiro vamos alterar a versão do compilador java, para isso clique com o botão direito no projeto e em seguida clique em Properties.

Na janela que abriu clique em Java Compiler e selecione a versão desejada do java, no meu caso eu selecionei a versão 1.8, segue o print abaixo como exemplo:

passo3

Em seguida clique em Apply.

Agora vamos configurar algumas opções do nosso projeto, na mesma janela clique em Project Facets, configure as opções conforme o print abaixo:

passo4

E clique em Apply e em seguida OK.

Pronto, agora nós já fizemos as configurações para trabalhar com nosso projeto no eclipse.

Agora vamos inserir as depências do projeto no maven, atualizando o nosso pom.xml.

Vamos precisar das dependências do JEE 7 e do Primefaces.

Segue abaixo como ficara o nosso pom.xml

Nesse pom nós podemos ver as dependências do PrimeFaces e a dependência do theme do PrimeFaces, inserimos também a dependência do JEE 7, porém apenas para compilação, os jars não serão inseridos no projeto, pois todos os jars necessários estão no Wildfly.

Com o pom.xml configurado, vamos agora alterar o web.xml para inserir algumas configurações relacionadas ao JSF.

Vamos configurar o Faces Servlet e definir o theme a ser utilizado pelo PrimeFaces, segue abaixo como ficará o nosso web.xml

Pronto, fizemos todas as configurações necessárias para rodar nosso projeto JSF, vamos criar uma página utilizando o PrimeFaces e testar o nosso projeto.

Vamos criar uma página xhtml no diretório webapp, vamos nomeá-la de olaPrimeFaces.xhtml e inserir o seguinte conteúdo:

Pronto já temos nossa página, vamos agora compilar e gerar o war do nosso projeto utilizando o maven.

Acesse o diretório do projeto e rode o comando mvn clean install.

passo7

 

Nosso war foi gerado com sucesso, agora basta fazer o deploy no wildfly e acessar a página criada.

Quando eu trabalho com o eclipse eu costumo fazer deploy da seguinte maneira:

Clique com o botão direito no projeto e em seguida em Export/WAR File.

Na janela que abriu, no campo Destination, selecione o diretório deployments do seu wildfly, no meu caso ficou assim /home/bruno/tools/wildfly/wildfly-10.0.0/standalone/deployments/tutorialjsfmaven.war .

Feito o deploy basta acessar a página que criamos.

passo8

 

Pronto, é isso ai galera.

Até o próximo post.

2 ideias sobre “Criar projeto JSF 2.2 + PrimeFaces + Eclipse + Maven + Wildfly

  1. Tiago

    Bruno, blza? excelente tutorial…
    Me tira uma dúvida, trabalhando com o Maven vc é obrigado a usar “export WAR…”???? acho esse modo muito contraprodutivo, imagine repetir esse processo para cada teste…

    Responder
    1. brunorota Autor do post

      Opa Tiago, tudo certo e ai?

      Que bom que gostou =)

      Então, é uma forma que eu gosto de trabalhar, com o mavem você precisaria rodar o comando mvn clean install e configurar o pom.xml para gerar o pacote no diretório do wildfly.

      Existem algumas ferramentas para “hot deploy” que fazem o deploy automatico, o eclipse mesmo tem uma ferramenta dessas, porém quando eu trabalho com EJB já tive vários problemas, por isso que eu prefiro usar o export mesmo.

      Tem outra ferramenta muito boa que faz isso, chama JRebel.

      Dê uma olhada nessas duas.

      Valeww

      Responder

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *