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 无法解析,而包的其余部分可以正常导入