Jar file failed to load in tomcat webapps

Rajashekhar Rangappa picture Rajashekhar Rangappa · Feb 22, 2014 · Viewed 72.8k times · Source

This is what the error i got when i try to deploy maven project to tomcat

mvn tomcat7:deploy

Error :

INFO: validateJarFile(D:\Softwares\tomcat\apache-tomcat-7.0.50\webapps\myWebApp_
1\WEB-INF\lib\javax.servlet-api-3.0.1.jar) - jar not loaded. See Servlet Spec 3.
0, section 10.7.2. Offending class: javax/servlet/Servlet.class

But the javax.servlet-api-3.0.1.jar is there in WEB-INF\lib Thanks

Answer

Saif Asif picture Saif Asif · Feb 22, 2014

INFO: validateJarFile(D:\Softwares\tomcat\apache-tomcat-7.0.50\webapps\myWebApp_ 1\WEB-INF\lib\javax.servlet-api-3.0.1.jar) - jar not loaded

Servlet3.0 is already shipped with the tomcat inside its lib folder and by default tomcat will always load the servlet jar present there. Thats why you are getting the warning that tomcat is not loading your jar inside the project.

Simple solution : If you are using maven, set its scope as provided inside the pom.xml and maven will not place it in the WEB-INF/lib of your project. Something like

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>3.0</version>
    <scope>provided</scope>
</dependency>