在Java Build Path中找不到超类“javax.servlet.http.HttpServlet”

时间:2014-03-31 07:48:36

标签: java eclipse jsp maven web

我有一个由Eclipse中的Maven集成创建的项目。一切正常,但在所有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时 - 一切都很好,没有错误。

13 个答案:

答案 0 :(得分:606)

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

Select runtime from Project Facets as shown the in image

答案 1 :(得分:233)

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

  • <强>的Maven

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    
  • <强>摇篮

    configurations {
        provided
    }
    sourceSets {
        main { compileClasspath += configurations.provided }
    }
    dependencies {
        provided 'javax.servlet:javax.servlet-api:3.1.0'
    }
    

答案 2 :(得分:101)

项目→属性目标运行时 Apache Tomcat 为我工作。 Facets下没有Target Runtimes(我在Eclipse v4.2(Juno)上)。

答案 3 :(得分:44)

对于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(任何服务器)

答案 4 :(得分:29)

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

答案 5 :(得分:20)

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

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

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

Enter image description here

答案 6 :(得分:17)

这些步骤可以真正帮助您:

  1. 如果您没有安装任何服务器,则必须执行以下步骤:

    菜单窗口首选项扩展服务器运行时环境添加 →选择一个名称,然后选择已安装在PC上的Apache服务器路径(您也可以按下载并安装)→完成确定

    < / LI>

    参考#for more information, click here

    1. 添加Tomcat服务器:

      项目属性 Java构建路径添加库→从列表中选择“服务器运行时”*→下一步→选择“Apache Tomcat”→完成

    2. 参考#This answer

答案 7 :(得分:14)

只需将这些依赖项添加到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>

答案 8 :(得分:7)

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

项目属性→ Java构建路径添加库从列表中选择“服务器运行时”下一步→选择“Apache Tomcat”→完成

答案 9 :(得分:5)

选择项目→属性项目构面目标运行时 VMware服务器

它对我有用。

答案 10 :(得分:2)

由于这是没有答案的,我猜测除了Maven依赖项之外的其他东西是ops构建错误。

虽然没有使用Maven,但是当我从svn重新创建我的开发环境时,我会遇到同样的问题,而且我总是忘记原因并且必须弄明白。不幸的是,这似乎是Eclipse的一个问题。

我能够通过选择一个动态Web项目或仅仅依赖于tomcat的项目从一次工作项目中删除所有此类错误,并在构建顺序中移动依赖项。这似乎迫使所有项目正确重建,然后解决所有错误。

右键单击Web项目,选择&#34; build Path&#34; - &GT; &#34;配置构建路径&#34;。 转到选项卡&#34;订购和导出&#34;,然后选择一个库或罐子条目并向上或向下移动它。我使用了JRE系统库并将其移到了顶部。

单击“确定”,所有红色消失!

答案 11 :(得分:2)

如果您没有使用Maven,只需将javax.servlet-api.jar放入项目lib文件夹即可。

答案 12 :(得分:0)

如果无论什么原因都无效,请从命令行构建它:

{{1}}