Estoy teniendo el siguiente error:
Error al ensamblar WAR: se requiere el atributo webxml (o WEB-INF / web.xml preexistente si se ejecuta en modo de actualización)
Tengo web.xml
en el lugar correcto que esprojectname\src\main\webapp\WEB-INF\web.xml
¿Qué podría estar causando esto?
Respuestas:
Sería útil si puede proporcionar un fragmento de código de su complemento maven-war-plugin. Parece que
web.xml
está en el lugar correcto, aún puede intentar dar la ubicación explícitamentefuente
Esta solución funciona para mí (estaba usando 2.2 antes). Además, estoy usando la configuración basada en Java para Servlet 3.0 y no necesito tener el archivo web.xml.
fuente
false
. Entonces,<plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.3</version> </plugin>
debería ser suficiente.Funciona perfectamente para mí también.
fuente
Esto se debe a que no ha incluido web.xml en su proyecto web e intenta construir la guerra con Maven. Para resolver este error, debe establecer el failOnMissingWebXml en falso en el archivo pom.xml.
Por ejemplo:
Consulte el blog para obtener más detalles: https://ankurjain26.blogspot.in/2017/05/error-assembling-war-webxml-attribute.html
fuente
Si está migrando de una configuración basada en XML a una configuración basada en Java y ha eliminado la necesidad de web.xml mediante la implementación de WebApplicationInitializer, simplemente elimine el requisito de que el archivo web.xml esté presente.
fuente
El valor de mi etiqueta webXml necesitaba verse así para funcionar:
fuente
<warSourceDirectory>\src\main\webapp</warSourceDirectory>
no funciona! No en v2.6Tuve exactamente el mismo problema y lo resolví así:
Hacer una nueva carpeta con el nombre
WEB-INF
bajosrc/main/webbapp
a continuación,Haga clic derecho en su proyecto -> Herramientas Java EE -> Generar trozo de descriptor de implementación
Esto debería generar su
web.xml
Espero que esto ayude a resolver su problema: D
fuente
Parece que tiene web.xml en la ubicación correcta, pero aun así, este error a menudo es causado por la estructura del directorio que no coincide con lo que Maven espera ver. Por ejemplo, si comienza con una aplicación web Eclipse que está intentando construir con Maven.
Si ese es el problema, una solución rápida es crear un
src/main/java
y unsrc/main/webapp
directorio (y otros directorios si los necesita) y simplemente mover sus archivos.Aquí hay una descripción general del diseño del directorio maven: http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
fuente
Si cambia la ruta predeterminada del proyecto, debe especificar la ubicación del archivo web.xml, por ejemplo:
fuente
Según la documentación, dice: si se debe fallar o no la compilación si falta el archivo web.xml. Establézcalo en falso si desea que WAR esté construido sin un archivo web.xml. Esto puede ser útil si está creando una superposición que no tiene un archivo web.xml. El valor predeterminado es: verdadero. La propiedad del usuario es: failOnMissingWebXml.
Espero que quede más claro
fuente
A mí también me funcionó.
fuente
WEB-INF\web.xml already added, skipping
. Eso es extraño, cuando no agrego esto, recibí el error.WEB-INF\web.xml already added, skipping
mvn-war-plugin 2.3 corrige esto:
fuente
He tenido el mismo error en el servidor de prueba pero no en el local. Después de unos minutos, descubrí que el IDE no estaba sincronizado con el pom.xml. Así es como lo resuelvo:
Vuelva a generar el descriptor de implementación con Eclipse
Vuelva a generar el descriptor de despliegue con IntelliJ
fuente
Asegúrese de que pom.xml esté colocado correctamente en la carpeta Proyecto. y no dentro de la carpeta de destino o en cualquier otro lugar.
Parece que pom.xml no está relativamente alineado.
fuente
¿Se alteró la estructura de su carpeta para que el archivo ya no esté en /src/main/webapp/WEB-INF/web.xml ?
Para resolver este problema, le di a mi carpeta web el nombre webapp y lo coloqué dentro de src / main. Maven parece buscar web.xml de forma predeterminada en /src/main/webapp/WEB-INF/web.xml . Si hace esto, entonces no necesita decirle explícitamente a maven dónde está web.xml. Y si ha alterado la estructura de su carpeta y su compilación dejó de funcionar recientemente, esta podría ser la razón.
Nota: Esta es una publicación anterior, pero las soluciones publicadas no indican por qué una compilación en funcionamiento dejaría de funcionar de repente.
fuente
Hay muchas respuestas y la mayoría de ellas funcionarán, pero agregaré un punto más, que, creo, no tiene menos importancia.
Según su mensaje de registro, lo está utilizando
maven
. Maven es una herramienta de gestión de proyectos que se basa en algunas convenciones. Construye el proyecto, crea una estructura de directorios adecuada y coloca los archivos en los directorios correspondientes que cumplen conSun Microsystems Directory Structure Standard
las aplicaciones Java EE / Web.Puede incorporar muchas cosas, incluidos los complementos de Maven, cambiar / reconfigurar el directorio raíz del proyecto, etc., pero hay un paso simple que puede hacer y su proyecto debería estar bien. Simplemente coloque su
web.xml
debajosrc\main\webapp\WEB-INF\
e intente construir el proyecto conmvn package
.Espero que esto agregue un poco más de luz a este problema.
fuente
Este error ocurre porque le dice a Maven que envíe los archivos a la guerra .
¿Realmente necesitas guerra? Si no, pon el frasco allí. Aquí está el código completo:
fuente
🔴 failOnMissingWebXml desde 2020
Todas las demás respuestas pueden ser obsoletas porque el valor predeterminado utilizado por el complemento de guerra de maven cambió :
Entonces, lo ÚNICO que tienes que hacer es agregar
Ejemplo:
fuente