the important part of the error message is
INFO: validateJarFile(C:\Program Files (x86)\apache-tomcat-7.0.47\webapps\MyApp\WEB- INF\lib\servlet-api-2.5-6.1.11.jar) - jar not loaded. See Servlet Spe c 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
This means that you're trying to load servlet-api-2.5-6.1.11.jar
as part of a web application which contains the definition of javax.servlet.Servlet
. Section 9.7.2 of the mentioned specification states that the classloader which the container uses to load servlets must not allow the WAR to override J2SE or Java servlet API classes.
In my case I managed to exclude certain jars when building the war file with the following lines in the pom.xml
file:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-alpha-2</version>
<configuration>
...
<packagingExcludes>WEB-INF/lib/javax.servlet-*.jar</packagingExcludes>
...
</configuration>
</plugin>