 <p>Jars that are provided by Tomcat at runtime should be scoped as <code>provided</code> if you need them to compile but expect the Tomcat container to provide them at runtime, e.g.</p> <pre><code> &lt;dependency&gt; &lt;groupId&gt;javax.servlet&lt;/groupId&gt; &lt;artifactId&gt;javax.servlet-api&lt;/artifactId&gt; &lt;version&gt;3.0.1&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; </code></pre> <p>(version is just something I threw in there... use whatever is appropriate).</p>