Criando projeto JSF com Maven no Eclipse

Olá Pessoal,

No post de hoje vamos ver como criar um projeto JSF no Eclipse já suportando o Maven. Parece algo simples,  concorda? Mas pode dar uma dor de cabeça, e veremos o motivo.

Lets GO…

Starting…

Antes de mais nada instale o Jboss tools, conforme este post. Após a instalação, vamos ver o cenário que temos.

  • Maven 3.x
  • Eclipse Helios

Cenário 1

Você pode adicionar o maven ao seu projeto manualmente, ou seja, basta adicionar o pom.xml ao projeto e fazer as devidas configurações. Ideal é quando você já tem um projeto e no inicio não usava o maven, mas resolveu adotar agora, daí você não vai querer deletar o projeto e criar um novo “maven Project” certo. Mas sabemos que fazer configuração manualmente sempre é chato. Porém essa é uma forma de você adicionar o Maven ao seu projeto.

Cenário 2

Você está querendo começar um projeto do zero, tipo JSF Project. Mas, ao criar, vê que ele não está na estrutura do maven. E o que fazer? Podemos ir pelo cenário 1. Mas e se eu quiser já criar automático?  Há uma opção usando o File  New  Maven Project.



Quando escolhemos Maven Project há varias opções de criar um projeto, desde um simple maven Project, até um Project webapp.  Na imagem a seguir você pode ver as opções de maven Project disponíveis, porém muitos deles estão com bugs críticos que não cria o projeto ou dá umas exceções e trava tudo. Um exemplo é a appfuse para jsf + hibernate + Spring. Se tivesse funcionando seria muito show, mas infelizmente não está.  E o que fazer ir para o cenário 1?

É o que fiquei pensando. Apesar de podermos criar a nossa própria estrutura archetypes http://maven.apache.org/guides/mini/guide-creating-archetypes.html e ser fácil e rápido, mesmo assim ainda fiquei incomodado pelo fato de não conseguir gerar um projeto JSF, já com o Maven consegui com apenas alguns cliques.

Solução?

Sim, depois de muitas horas tentando entender o motivo e quebrando a cara com alguns plugins, achei um workaround. Vamos lá:

Crie um Maven Project (File è new è Project è maven project)

Na próxima tela deixe assim:

Clica em next e na tela seguinte vamos escolher maven-achetype-webapp

Clica em next

E agora vamos preencher. Estou presumindo que você já conhece o maven, então não irei explicar o que significa cada campo. Veja como ficou a minha:

Clique em finish.

Como você percebeu, o workaround foi criar um projeto do tipo webapp, mas ainda o projeto não tem suporte JSF, podemos fazer isso manualmente ou automaticamente. Clique com o botão direito no projeto e escolha configure >> add jsf capabilities:

Escolha o Servlet version 2.5

Clique em finish, no warning que aparecer clique em Yes

O projeto vai ficar “quebrado”, pois a versão do web.xml está diferente. Abra o web.xml e altere o version para 2.5

Agora precisamos adicionar as libs para JSF no pom.xml. Abra o pom.xml e clique na aba dependencies

E adicione:

com.sun.faces jsf-api

com.sun.faces jsf-impl

Não esqueça de adicionar também:

javax.servlet javax.servlet-api

javax.servlet jstl

Feito isso seu projeto deve tá assim:

Workaround para Windows 7

Quem tem Windows 7 pode se deparar com o problema de não conseguir executar “cmd” e para resolver o problema basta adicionar ao path do sistema o seguinte valor:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

O Maven não está atualizando no eclipse

Passei por esse problema de alterar o pom.xml e o maven não fazer o download das libs e a modificação não refletir no eclipse, daí basta forçar o download:

mvn eclipse:eclipse -DdownloadSources=true

Vou ficando por aqui, espero que tenham gostado do post.

See ya!

2 comentários em “Criando projeto JSF com Maven no Eclipse”

  1. QUERO VIAJAR EM UMA VIAGEM para a europa especificamente irlanda…. ate pela facilidade burocratica!
    oq vc pode me dizer e me aconshelha ?
    e a bil intercambio é uma boa empresa?

    1. olá Ruan,
      Sim é uma excelente empresa, principalmente no atendimento e surpote. Isso é o mais importante. Em uma viagem para fora. Ainda mais se for na primeira vez. Entre em contato com Bil e procure a Fernanda, foi a minha consultora. Muito boa ela.
      abracos,

Deixe um comentário

O seu endereço de e-mail não será publicado.