我有一个由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时,一切都很好,没有错误。


当前回答

在依赖项中包含servlet-api-3.1.jar。

Maven <依赖> < groupId > javax.servlet < / groupId > < artifactId > javax.servlet-api < / artifactId > <版本> 3.1.0 > < /版本 < >范围提供了> < /范围 < / >的依赖 Gradle 配置{ 提供 } sourceSets { main {compileClasspath +=配置。提供} } 依赖关系{ 提供“javax.servlet: javax.servlet-api: 3.1.0” }

其他回答

对于Ant项目:

确保lib文件夹中有servlet-api.jar。

对于Maven项目:

确保在POM.xml中添加了依赖项。

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

另一种方法是:更新项目方面以选择正确的服务器。

在此位置选中此框:

项目→属性→目标运行时→Apache Tomcat(任意服务器)

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

对于JBoss…右键单击项目→构建Java路径→添加外部JAR文件。

然后浏览到jboss-folder→Common→lib→servlet-api.jar

. . 单击OK,刷新项目,并运行它…

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

项目属性→Java Build Path→添加库→从列表中选择“Server Runtime”→下一步→选择“Apache Tomcat”→完成。

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