Maven – webxml attribute is required

Maven package a web application and hits the following error message :

$ mvn package
//...
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war 
(default-war) on project spring4-mvc-maven-ajax-example: 

Error assembling WAR: webxml attribute is required 
(or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]

Solution

1. For servlet container < 3, make sure WEB-INF/web.xml file exists.

2. For servlet container >=3, and NO web.xml web application, declares the following maven-war-plugin plugin, and set the failOnMissingWebXml option to false.

pom.xml

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

References

  1. Apache Maven WAR Plugin
  2. Apache Tomcat – Which version do I want?

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities.

Comments

avatar
4 Comment threads
2 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
DimaMdharmkyongArmando CoutoSiva Recent comment authors
newest oldest most voted
Siva
Guest
Siva

Even simpler: Add false to section in pom.xml. No need to add maven-war-plugin.

mkyong
Guest
mkyong

wow, thanks for your input, I didn’t know about that!

Armando Couto
Guest
Armando Couto

very cool!!!

mkyong
Guest
mkyong

Thanks

Mdhar
Guest
Mdhar

Thanks yong.

Dima
Guest
Dima

thanks!!