Je reçois l'erreur suivante:
Erreur lors de l'assemblage de WAR: l'attribut webxml est requis (ou WEB-INF / web.xml préexistant en cas d'exécution en mode de mise à jour)
Je suis web.xml
au bon endroit qui estprojectname\src\main\webapp\WEB-INF\web.xml
Qu'est-ce qui peut causer cela?
Réponses:
Il serait utile que vous puissiez fournir un extrait de code de votre plugin maven-war. On dirait que le
web.xml
est au bon endroit, vous pouvez toujours essayer de donner l'emplacement explicitementla source
Cette solution fonctionne pour moi (j'utilisais 2.2 auparavant). En outre, j'utilise la configuration basée sur Java pour Servlet 3.0 et je n'ai pas besoin de fichier web.xml.
la source
false
. Donc, ça<plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.3</version> </plugin>
devrait suffire.Cela fonctionne parfaitement pour moi aussi.
la source
Cela est dû au fait que vous n'avez pas inclus web.xml dans votre projet Web et que vous essayez de créer une guerre à l'aide de maven. Pour résoudre cette erreur, vous devez définir le failOnMissingWebXml sur false dans le fichier pom.xml.
Par exemple:
Veuillez consulter le blog pour plus de détails: https://ankurjain26.blogspot.in/2017/05/error-assembling-war-webxml-attribute.html
la source
Si vous migrez d'une configuration basée sur XML vers une configuration basée sur Java et que vous avez supprimé le besoin de web.xml en implémentant WebApplicationInitializer, supprimez simplement l'exigence de présence du fichier web.xml.
la source
La valeur de ma balise webXml devait ressembler à ceci pour fonctionner:
la source
<warSourceDirectory>\src\main\webapp</warSourceDirectory>
ne fonctionne pas! Pas dans la v2.6J'ai eu exactement le même problème et je l'ai résolu comme ceci:
Créez un nouveau dossier nommé
WEB-INF
soussrc/main/webbapp
puisClic droit sur votre projet -> Outils Java EE -> Générer un stub de descripteur de déploiement
Cela devrait générer votre
web.xml
J'espère que cela vous aidera en résolvant votre problème: D
la source
Il semble que vous ayez web.xml au bon endroit, mais même ainsi, cette erreur est souvent causée par la structure de répertoire qui ne correspond pas à ce que Maven s'attend à voir. Par exemple, si vous commencez avec une webapp Eclipse que vous essayez de créer avec Maven.
Si tel est le problème, une solution rapide consiste à créer un
src/main/java
et unsrc/main/webapp
répertoire (et d'autres répertoires si vous en avez besoin) et à simplement déplacer vos fichiers.Voici un aperçu de la disposition du répertoire maven: http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
la source
Si vous modifiez le chemin du projet par défaut, vous devez spécifier l'emplacement du fichier web.xml, par exemple:
la source
Selon la documentation, il est indiqué: s'il faut ou non échouer la génération si le fichier web.xml est manquant. Définissez-le sur false si vous souhaitez que WAR soit construit sans fichier web.xml. Cela peut être utile si vous créez une superposition sans fichier web.xml. La valeur par défaut est: true. La propriété utilisateur est: failOnMissingWebXml.
J'espère que cela rend plus clair
la source
Il a travaillé pour moi aussi.
la source
WEB-INF\web.xml already added, skipping
. C'est bizarre, quand je n'ajoute pas cela, j'ai eu l'erreur.WEB-INF\web.xml already added, skipping
mvn-war-plugin 2.3 corrige ceci:
la source
J'ai eu la même erreur sur le serveur de test mais pas en local. Après quelques minutes, j'ai découvert que l'EDI n'était pas synchronisé avec le pom.xml. Voici comment je le résous:
Re-générer le descripteur de déploiement avec Eclipse
Re-générer le descripteur de déploiement avec IntelliJ
la source
Assurez-vous que pom.xml est placé correctement dans le dossier Project. et non dans le dossier cible ou ailleurs.
Il semble que pom.xml ne soit pas relativement aligné.
la source
La structure de votre dossier a-t-elle été modifiée afin que le fichier ne soit plus dans /src/main/webapp/WEB-INF/web.xml ?
Pour résoudre ce problème, j'ai donné à mon dossier Web le nom de webapp et l'ai placé dans le src / main. Maven semble rechercher par défaut web.xml dans /src/main/webapp/WEB-INF/web.xml . Si vous faites cela, vous n'avez pas besoin de dire explicitement à maven où se trouve web.xml. Et si vous avez modifié la structure de vos dossiers et que votre build a récemment cessé de fonctionner, cela pourrait être la raison.
Remarque: il s'agit d'un ancien article, mais les solutions publiées ne montrent pas pourquoi une version fonctionnelle s'arrêterait soudainement.
la source
Il existe de nombreuses réponses et la plupart d'entre elles fonctionneront, mais j'ajouterai un point supplémentaire qui, je pense, n'a pas moins d'importance.
Selon votre message de journal, vous utilisez
maven
. Maven est un outil de gestion de projet-construction basé sur certaines conventions. Il construit le projet, crée la structure de répertoires appropriée et place les fichiers dans les répertoires correspondants qui sont conformes aux applicationsSun Microsystems Directory Structure Standard
Java EE / Web.Vous pouvez incorporer beaucoup de choses, y compris des plugins maven, changer / reconfigurer le répertoire racine du projet, etc., mais il y a une étape simple que vous pouvez faire et votre projet devrait aller bien. Placez simplement votre
web.xml
soussrc\main\webapp\WEB-INF\
et essayez de construire le projet avecmvn package
.J'espère que cela ajoute un peu plus de lumière à ce problème.
la source
Cette erreur se produit car vous dites à Maven de pakage des fichiers en guerre .
Avez-vous vraiment besoin de la guerre? Sinon, mettez le pot là-bas. Voici le code complet:
la source
🔴 failOnMissingWebXml depuis 2020
Toutes les autres réponses peuvent être obsolètes car la valeur par défaut utilisée par le plugin maven-war a changé :
Ainsi , la SEULE chose que vous avez à faire est d'ajouter
Exemple:
la source