2016-04-19 13 views
1

Ich erhalte die folgende Fehlermeldung, wenn meine Maven-Projekt mit dem Befehl Aufbau mvn clean installMaven nicht finden können web.xml

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war 
(default-war) on project MyProject: 
Error assembling WAR: webxml attribute is required (or pre-existing 
WEB-INF/web.xml if executing in update mode) 

Ich habe tun web.xml in das Projekt. Im Ordner web/WEB-INF/web.xml

Ich verwende IntelliJ IDEA. Ich kann durch Zugabe der folgenden pom.xml dieses Problem vermeiden:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <configuration> 
       <failOnMissingWebXml>false</failOnMissingWebXml> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Aber ich möchte, warum Maven Ansprüche wissen, dass web.xml fehlt, obwohl es nicht, und es ist in der Standardposition bei der Erstellung ein neues Web-Anwendungsprojekt in IntelliJ IDEA.

+0

Die Der Pfad web/WEB-INF/web.xml ist nicht der Standard, da zwischen WEB-INF/web.xml und dem Projektstammverzeichnis kein Webverzeichnis vorhanden sein soll, es sei denn, das Projektstammverzeichnis heißt 'web'. –

+0

WEB-INF wurde aus dem Webordner in das Projektstammverzeichnis verschoben und es wird immer noch der gleiche Fehler angezeigt. –

+1

ist Ihre web.xml in src/main/webapp/WEB-INF? –

Antwort

3

Ihr Problem ist, dass Sie web.xml in diesem Pfad haben: web/WEB-INF/web.xml

Mit Maven, die web.xml in src/main/webapp/WEB-INF gehen sollte oder sollten Sie die webXml Konfiguration des Krieges Plugin (siehe hier: https://maven.apache.org/plugins/maven-war-plugin/war-mojo.html#webXml) ändern

+0

In meinem Fall habe ich tatsächlich web.xml in ./src/main/webapp/WEB-INF, aber es läuft nicht richtig mit 'mvn jetty: run', ich bin nicht wirklich sicher warum, es sagt immer dass das Verzeichnis nicht existiert. – kevr

+0

Veröffentlichen Sie Ihre vollständige Pom-Datei. Sie haben es an der richtigen Stelle, es sei denn, Sie überschreiben etwas – mikeb