Steve Waters
Steve Waters

Reputation: 3548

Maven can't find web.xml

I'm getting the following error when building my maven-project with the command mvn clean install

[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)

I do have web.xml in the project. In the folder web/WEB-INF/web.xml

I am using IntelliJ IDEA. I can avoid this problem by adding the following to pom.xml:

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

But I'd like to know why maven claims that web.xml is missing even though it's not and it is in the default location when creating a new web application project in IntelliJ IDEA.

Upvotes: 5

Views: 17079

Answers (1)

mikeb
mikeb

Reputation: 11267

Your problem is that you have web.xml in this path: web/WEB-INF/web.xml

With Maven, the web.xml should go in src/main/webapp/WEB-INF or you should change the webXml configuration of the war plugin (see here: https://maven.apache.org/plugins/maven-war-plugin/war-mojo.html#webXml)

Upvotes: 12

Related Questions