【问题标题】:HttpServlet cannot be resolved to a type .... is this a bug in eclipse? [duplicate]HttpServlet 无法解析为类型....这是 Eclipse 中的错误吗? [复制]
【发布时间】:2012-02-01 07:56:41
【问题描述】:

一切都很好,我能够运行这个 JSP 项目, 突然发生了一些事情,而且我所有的 servlet 都出现了未解决的错误。

我知道它是因为找不到特定的 JAR 文件进行编译.. 但是我的“buildpath”很好,我没有做任何更改..

我被困在这种情况下......

试过

  1. 多次清理项目
  2. 删除并添加了 JRE 库
  3. 删除和添加服务器(Tomcat 7.0.23)

【问题讨论】:

    标签: java jsp tomcat servlets


    【解决方案1】:

    我在网络上找到的任何建议都没有为我解决,即使是本次对话中的建议。

    唯一解决的方法是卸载 Tomcat 10 并安装版本 9,然后问题就消失了。我考虑到了这一点 (http://tomcat.apache.org/whichversion.html),但这似乎与我的问题无关。

    【讨论】:

    • 检查BalusC commentcited answer 解释了您的问题。 Tomcat 10 使用 jakarta.servlet 命名空间而不是 javax.servlet
    【解决方案2】:

    这也发生在我身上,原因是在 eclipse 中创建项目时选择了不适当的 tomcat 和动态 web 模块版本组合。我选择了 Tomcat v9.0 和 Dynamic Web 模块 3.1 版,而 Eclipse 无法解析 HttpServlet 类型。当使用 Tomcat 7.0 和动态 web 模块 7.0 版时,eclipse 能够自动解析 HttpServlet 类型。

    相关问题Dynamic Web Module option in Eclipse

    要检查应使用哪个版本的 tomcat 以及不同版本的 Servlet 和 JSP 规范,请参阅 http://tomcat.apache.org/whichversion.html

    【讨论】:

      【解决方案3】:

      对我来说一个简单的解决方案是转到 Properties -> Java Build Path -> Order and Export,然后检查 Apache Tomcat 库。这是假设您已经将 Tomcat 设置为您的部署目标并且仍然收到错误消息。

      【讨论】:

      • 这对我有用。 Apache Tomcat 没有被检查,我一检查就停止了错误。在此之前,我必须下载并解压 Tomcat,然后将其添加为 Eclipse 上的服务器。
      【解决方案4】:

      您必须将 Web 项目的运行时设置为您正在使用的 Tomcat 安装;您可以在项目配置的“目标运行时”部分中执行此操作。

      通过这种方式,您将允许 Eclipse 将 Tomcat 的 Java EE Web Profile jar 添加到构建路径中。

      请记住,HttpServlet 类不在 JRE 中,但至少在企业 Web 配置文件中(例如 servlet 容器运行时 /lib 文件夹)。

      【讨论】:

      • 非常感谢它修复了它,但我不知道为什么它只是在我实际运行项目时自行取消选择“目标运行时”
      • 现在我在 Tomcat 的控制台中收到一个新错误“com.swiftant.jsp.LoginFilter cannot be cast to javax.servlet.Filter”
      • 检查一下:com.swiftant.jsp.LoginFilter 真的是正确版本的 javax.servlet.Filter 的实现吗?
      • 对不起,这是我的错,我做了 ctrl+shift+O(懒惰)它实际上导入了“import com.sun.org.apache.xalan.internal.xsltc.dom.Filter;”一切都像以前一样好用谢谢:)
      • 即使我的构建路径包含 tomcat 7 库,我也收到此错误,我更改了顺序,以便 tomcat 在顺序和导出选项卡的顶部,重建并修复它(可能是一些日食问题,因为当我将 tomcat 库移回底部时,它仍然可以正常工作)
      【解决方案5】:

      表示缺少servlet jar。

      检查项目的库。 配置你的构建路径下载**

      servlet-api.jar

      ** 并将其导入您的项目中。

      【讨论】:

        【解决方案6】:

        我在tomcat7的eclipse中遇到了同样的问题,错误javax.servlet无法解决。如果我在目标运行时模式下选择服务器并再次构建项目,则错误得到解决。

        【讨论】:

          猜你喜欢
          • 2016-11-10
          • 2017-12-31
          • 1970-01-01
          • 1970-01-01
          • 2015-11-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多