HttpServlet 无法解析为类型....这是 Eclipse 中的错误吗? [复制]

Posted

技术标签:

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

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

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

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

试过

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

检查BalusC comment:cited 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无法解决。如果我在目标运行时模式下选择服务器并再次构建项目,则错误得到解决。

【讨论】:

以上是关于HttpServlet 无法解析为类型....这是 Eclipse 中的错误吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

eclipse下遇到 无法解析类型 javax.servlet.http.HttpServletRequest

javax.servlet.http.HTTPServlet Import 无法解析,而包的其余部分可以正常导入

SpringBootTest 无法解析为类型

toast 无法解析,activitynotfoundexception 无法解析为类型

OnClickListener无法解析为某种类型

Eclipse 和 Gradle 类路径不同步:无法解析为类型