Removendo obrigatoridade do web.xml em projetos web maven

Quando utilizamos maven para gerenciar projetos web java, provavelmente o empacotamento do artefato será configurado como war, em outras palavras o pom.xml terá o atributo packaging configurado com war.

Devido essa configuração, o maven exige que o projeto java web tenho um arquivo web.xml dentro da pasta WEB-INF, no entanto, nem sempre precisamos dessa configuração mas é lançado um erro no build do projeto pelo maven, como o erro abaixo:

[INFO] ————————————————————————
[INFO] BUILD FAILURE
[INFO] ————————————————————————
[INFO] Total time: 2.712s
[INFO] Finished at: Wed Aug 31 23:27:58 BRT 2016
[INFO] Final Memory: 11M/309M
[INFO] ————————————————————————
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project javaee-angularjs: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]

Para isso, é possível adicionar uma configuração no plugin maven-war-plugin desabilitando essa validação no marcando o atributo failOnMissingWebXml para falso, como no exemplo abaixo:

pom.xml

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.3</version>
    <extensions>false</extensions>
       <configuration>
          <failOnMissingWebXml>false</failOnMissingWebXml>
       </configuration>
</plugin>
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.