[Solved] The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path in Eclipse

If you are facing this error after importing an existing maven project into your eclipse IDE, then it means that http-servlet is not available in the project’s classpath and you must include it.

The error looks like this.

Java Build Path Error
Java Build Path Error

Solution

To include http-servlet into your classpath, you have two options.

1. Add Target Server Runtime

In this solution, you can add desired server runtime into your application as a project facet. As runtime servers have already servlet runtime dependencies, they get included in your project and hence the error is gone.

Update Project Runtime

2. Add Maven Dependency

Another option is to include the servlet-api dependency through maven itself. This will also fix the error.

Do not forget to run mvn update command after including the dependencies.

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

Happy Learning !!

Was this post helpful?

Join 7000+ Awesome Developers

Get the latest updates from industry, awesome resources, blog updates and much more.

* We do not spam !!

24 thoughts on “[Solved] The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path in Eclipse”

  1. 27-Jan-2016 12:17:06.629 SEVERE [http-nio-8080-exec-13] org.apache.coyote.http11.AbstractHttp11Processor.process Error processing request
    java.lang.IllegalStateException: The resources may not be accessed if they are not currently started
    at org.apache.catalina.webresources.StandardRoot.validate(StandardRoot.java:232)
    at org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:199)
    at org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:193)
    at org.apache.catalina.mapper.Mapper.internalMapWrapper(Mapper.java:918)
    at org.apache.catalina.mapper.Mapper.internalMap(Mapper.java:808)
    at org.apache.catalina.mapper.Mapper.map(Mapper.java:667)
    at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:862)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)

    Reply
  2. Thanks for the solution to the problem “The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path in Eclipse”

    Reply

Leave a Comment

HowToDoInJava

A blog about Java and related technologies, the best practices, algorithms, and interview questions.