我有一个由Maven集成在Eclipse中创建的项目。所有的工作都很好,但是在工作空间中所有的JSP文件都有这个:

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

到第一个字符串的位置:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

当我创建一个基本的动态web项目和JSP时,一切都很好,没有错误。


当前回答

首先添加一个运行时并选择项目属性。然后从'Runtimes'选项卡检查服务器名称,如图所示。

其他回答

项目→属性→目标运行时→*Apache Tomcat为我工作。facet下没有目标运行时(我在Eclipse v4.4 (Luna)上)。

在服务器运行时添加Tomcat服务器将完成以下工作:

项目属性→目标运行时→从列表中选择您的服务器,“JBoss运行时”→完成

如果是Apache,可以选择Apache Runtime。

如果由于某种原因不能工作,则从命令行构建它:

ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 clean

ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 compile

ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 dist

如果您不使用Maven,只需将javax.servlet-api.jar放到项目库文件夹中。

只需将这些依赖项添加到pom.xml文件中:

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

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