349 Stimmen

Fehler "webxml-Attribut ist erforderlich" in Maven

Ich erhalte den folgenden Fehler:

Fehler beim Zusammenstellen von WAR: webxml-Attribut ist erforderlich (oder bereits vorhandenes WEB-INF/web.xml bei Ausführung im Update-Modus)

Ich habe web.xml an der richtigen Stelle, nämlich projectname\src\main\webapp\WEB-INF\web.xml

Was könnte die Ursache dafür sein?

379voto

Arpit Punkte 6398

Es wäre hilfreich, wenn Sie einen Codeschnipsel Ihres maven-war-plugin zur Verfügung stellen könnten. Sieht aus wie die web.xml am richtigen Ort ist, können Sie trotzdem versuchen, den Standort explizit anzugeben

<plugin>            
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <configuration>
    <webXml>src\main\webapp\WEB-INF\web.xml</webXml>        
  </configuration>
</plugin>

189voto

Sagar Punkte 1969
<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>

Diese Lösung funktioniert bei mir (ich habe vorher 2.2 verwendet). Außerdem verwende ich eine Java-basierte Konfiguration für Servlet 3.0 und benötige keine web.xml-Datei.

87voto

Burhan ARAS Punkte 2456

Auch bei mir funktioniert es perfekt.

<project>

.....

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webXml>WebContent\WEB-INF\web.xml</webXml>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

44voto

Ankur jain Punkte 873

Dies liegt daran, dass Sie die Datei web.xml nicht in Ihr Webprojekt aufgenommen haben und versuchen, war mit Maven zu bauen. Um diesen Fehler zu beheben, müssen Sie die failOnMissingWebXml a falsch in der Datei pom.xml.

Zum Beispiel:

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

Weitere Einzelheiten finden Sie im Blog: https://ankurjain26.blogspot.in/2017/05/error-assembling-war-webxml-attribute.html

23voto

Beatty Punkte 456

Wenn Sie von einer XML-basierten zu einer Java-basierten Konfiguration migrieren und web.xml durch die Implementierung von WebApplicationInitializer überflüssig gemacht haben, entfernen Sie einfach die Anforderung, dass die Datei web.xml vorhanden sein muss.

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X