Estoy desarrollando un Resorte proyecto de MVC con Java puro basado en la configuración. Estoy recibiendo el siguiente error cuando hago una Maven instalación limpia.

Error al ejecutar la meta
org.apache.maven.plugins:maven-guerra-plugin:2.2:la guerra (el valor predeterminado de la guerra) en
proyecto de SpringMVC-ShoppingCart: Error de montaje de GUERRA: webxml atributo
es necesario (o pre-existentes WEB-INF/web.xml si la ejecución de la actualización
modo) -> [1]

El error dice que web.xml falta, pero yo no tengo uno desde que utiliza Java puro basado en la configuración.

Cómo asegurarse de que el proyecto genera y crea un archivo war sin web.xml?

OriginalEl autor Omkar Puttagunta | 2015-10-28

2 Comentarios

  1. 36

    Este error ocurre porque el maven-guerra-plugin, en la versión 2.6 o inferior, espera por defecto un src/main/webapp/web.xml archivo a estar presente en su proyecto de GUERRA, y no lo encontramos.

    El uso de anotaciones y la actualización a la 3.0.0 o más reciente

    A partir de la versión 3.0.0 del plugin, la presencia de un web.xml no es obligatorio por defecto ya:

    El valor predeterminado para failOnMissingWebXml ha cambiado de true a false.

    Esto significa que la actualización del plugin directamente se soluciona el problema. Usted puede agregar la siguiente configuración en el POM:

    <plugin>
      <artifactId>maven-war-plugin</artifactId>
      <version>3.0.0</version>
    </plugin>

    La razón es que, desde el Servlet 3.0, la web.xml archivo ya no es necesario en una aplicación web, y puede ser reemplazado con anotaciones tener una aplicación basada en la configuración (MWAR-262). Sin embargo, dado que el proyecto no podría usar anotaciones para reemplazar este archivo, en cuyo caso el web.xml en realidad podría ser falta, una comprobación de validez fue añadido en la versión 3.0.1 de la conexión para asegurarse de que la anotación @WebServlet es en la compilación classpath de la GUERRA de proyecto (MWAR-396). Si no lo es, y no hay web.xml archivo en el proyecto, el plugin va a fallar de forma predeterminada.

    Ignorar la falta web.xml

    Si sólo quieres el plugin explícitamente ignorar una falta web.xml archivo, independientemente de que el uso de anotaciones, puede establecer la failOnMissingWebXml parámetro para false. Muestra una configuración de ejemplo sería:

    <plugin>
      <artifactId>maven-war-plugin</artifactId>
      <version>2.6</version>
      <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
      </configuration>
    </plugin>
    Gracias @Tunaki. Acabo de probar y funcionó!

    OriginalEl autor Tunaki

  2. 2

    Esto es debido a que no se ha incluido web.xml en su proyecto web y tratando de construir la guerra el uso de maven. Para resolver este error, es necesario establecer la failOnMissingWebXml a false en pom.xml archivo.

    Por ejemplo:

    <properties>
        <failOnMissingWebXml>false</failOnMissingWebXml>   
    </properties>

    Por favor ver el blog para más detalles: https://ankurjain26.blogspot.in/2017/05/error-assembling-war-webxml-attribute.html

    este trabajo para mí en mvn ver 3.5.1, el aceptado respuesta no
    esta respuesta funciona si tu no usar maven-guerra-plugin, pero sólo el empaque como en la guerra

    OriginalEl autor Ankur jain

Dejar respuesta

Please enter your comment!
Please enter your name here