【问题标题】:The import javax.servlet cannot be resolved STILL [duplicate]导入 javax.servlet 仍然无法解析 [重复]
【发布时间】:2022-01-05 14:54:07
【问题描述】:

这是我的 Eclipse 范围的 JRE 定义,清楚地显示 servlet-api.jar 已添加:

这里还有一些似乎永远无法解决的旧导入错误。 Java不是很棒吗?对于为什么这仍然行不通,有人有一个简单、事实的答案吗?

【问题讨论】:

  • 该项目说它正在使用 JavaSE-11 执行环境 - 是否设置为使用 Java 17?
  • 您不应该将 Tomcat 库作为普通库而不是 JRE 包含吗?很抱歉好几个世纪没用过 Eclipse。
  • 您无法将 Tomcat 服务器库添加到构建路径中吗?请尝试更新-右键单击项目->构建路径->配置构建路径...->库(选项卡)->选择类路径->添加库->服务器运行时->选择您必须添加的那个适用于 Tomcat 10。
  • 如果你还没有设置Tomcat服务器运行时,那么Windows -> Preferences -> Server -> Runtime Environments -> Add。
  • 您正在使用 Tomcat 10 的 servlet JAR,它使用 JakartaEE 9,它从 javax.* 包命名空间切换到 jakarta.* 包命名空间。要么降级到 Tomcat 9,要么确保使用新的 JakartaEE 9 包名称。

标签: java eclipse tomcat


【解决方案1】:

jakarta.servletjavax.servlet

是否有人对为什么这仍然不起作用有一个简单、事实的答案?

因为:

您的代码正在尝试使用包名。

解决方案:

  1. 将您的 webapp 代码更改为从 new jakarta.servlet 包导入,或者
  2. 回滚到支持旧版 Servlet 规范的 Tomcat 版本;即 Tomcat 9.0.x 或更早版本。

【讨论】:

    猜你喜欢
    • 2011-05-06
    • 2014-10-24
    • 2016-09-01
    • 2016-11-10
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    相关资源
    最近更新 更多