Olá Pessoal,
Hoje veremos um troubleshooting com maven. Se você já criou um projeto maven e depois adicionou funcionalidade do JSF ao projeto e ao realizar mvn install teve a mensagem a seguir…
BUILD FAILURE
[INFO] ————————————————————————
[INFO] Total time: 2.321s
[INFO] Finished at: Sat Feb 02 16:34:52 BRST 2013
[INFO] Final Memory: 6M/15M
[INFO] ————————————————————————
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war)
…Certamente você ficou muito irritado. Na primeira vez eu não fiquei, mas depois de um tempo sim. Bem, a questão é que ao adicionar as funcionalidade do JSF ao seu maven project, a estrutura do seu projeto fica diferente do que é esperado por default pelo plugin do maven que gera o war.
O que ele espera: suapp\web-inf\web.xml
Mas o que é na realidade: \suapp\WebContent\WEB-INF\web.xml
Então, o que fazer?
Simples, adicione o plugin a seguir ao seu pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>..\suapp\WebContent\WEB-INF\web.xml</webXml>
</configuration>
</plugin>
O caminho do web.xml pode variar de acordo como está seu projeto, na dúvida clique com o botão direito no web.xml do projeto e vá na opção copy qualified name e cole no bloco de notas e assim você obtém o caminho completo.
Bom, é isso ai. Vou ficando por aqui.
Abraços, see ya!!