Back-End

28 mai, 2014

TroubleShooting – Maven + JSF Project

Publicidade

Olá, pessoal!

O troubleshooting de hoje é um problema que descobri ao tentar usar Maven + JSF Project + qualquer Server APP. Você deve estar se perguntando: como assim? Não entendi… Calma que vou explicar.

O problema

Se você criou projetos no Eclipse usando o Jboss tools e decidiu criar um projeto JSF Project, que temos no Jboss tools, vai ter um problema na hora que precisar fazer um quick start deplostart deploy usando algum plugin dos servidores de aplicação a seguir: jetty, jboss e tomcat. Mas, qual o problema?

Simples. Quando criamos um JSF Project, todo o conteúdo para web vai ficar na pasta WebContent e é aí que começa o problema, pois esta pasta não é padrão do maven e quando fazemos um deploy usando algum plugin dos app servers, simplesmente vamos ver que  suas páginas (.jsp, .xhtml etc) não serão copiadas junto com .war gerado pelo maven e ao acessar sua aplicação verá o error 404. E agora, como resolver?

A solução

Para resolver o problema, não encontrei outra solução senão copiar tudo que tinha dentro de WebContent e colocar dentro de webapps, deixando assim:

mavenwebapps

Execute o seguinte comando:

mvn eclipse:clean

Em seguida:

mvn eclipse:eclipse –Dwtpversion=2.0

No Eclipse, dê um refresh no projeto.

Clique com o botão direito no projeto e vá em properties e verique se está conforme a imagem a seguir. Caso tenha referência para WebContent, basta remover.

mavendeploymentassembly

Agora é só fazer o deploy com o seu servidor de preferência. Claro, é preciso ter o plugin do servidor adicionado ao pom.xml.

Vou ficando por aqui. Ah, há uma solução mais elegante, porém deixarei para o próximo artigo.

Abraços!