无法解析导入的 javax.servlet

我正在尝试使用 日蚀Java EE开发网络应用程序。

我需要使用 雄猫作为我的 服务器。我已经下载了 Tomcat 并且它正在运行。但是我的程序不能编译。

我得到以下错误:

无法解析导入的 javax.servlet。

我需要做什么?

449033 次浏览

servlet-api.jar添加到您的类路径中。

您需要将 ServletAPI 添加到您的类路径中。在 Tomcat 6.0中,这在 Tomcat 的 lib文件夹中名为 servlet-api.jar的 JAR 中。您可以将对该 JAR 的引用添加到项目的类路径,或者将该 JAR 的一个副本放入您的 Eclipse 项目中,并从那里将其添加到类路径。

如果希望将 JAR 保留在 Tomcat 的 lib文件夹中:

  • 右键单击项目,单击 物业
  • 选择 Java 构建路径
  • 单击 图书馆选项卡
  • 添加外部罐..。
  • 浏览找到 servlet-api.jar并选择它。
  • 单击 好的更新生成路径。

或者,如果您将 JAR 复制到您的项目中:

  • 右键单击项目,单击 物业
  • 选择 Java 构建路径
  • 加上罐子..。
  • 在项目中查找 servlet-api.jar并选择它。
  • 单击 好的更新生成路径。

如果还没有完成,您需要在 服务器视图中集成 Tomcat。右键单击这里并选择 新增 > 伺服器。从列表中选择适当的 Tomcat 版本并完成向导。

当您创建一个新的 动态网页计划时,您应该在第一个向导步骤中从列表中选择集成服务器作为 目标运行时间

或者当您有一个现有的 动态网页计划时,您可以在项目属性的 目标运行时间条目中设置/更改它。然后 Eclipse 将自动将其所有库添加到构建路径中(在项目中没有这些库的副本!).

在 Eclipse 中也有同样的问题。由于某种原因,我的构建路径中没有 servlet.jar 文件。我最后要做的就是从我的另一个项目中复制一个“ lib”文件夹到我正在进行的项目中,然后手动进入该文件夹并将 servlet.jar 文件添加到构建路径中(在项目资源管理器中右键单击该文件时会出现选项)。

您需要将依赖项的范围设置为在 POM 中“提供”。

Http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#dependency_scope

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>

那一切都会好起来的。

我也有同样的问题,因为我的“ Dynamic Web Project”没有引用我想要使用的已安装的服务器,因此没有引用服务器提供的 Servlet API。

下面的步骤解决了这个问题,而没有向 Java 构建路径(月食版本: 月神)添加额外的 Servlet-API:

  • 右键单击“动态 Web 项目”上的
  • 选择 物业
  • 在“ Properties”向导左侧的列表中选择 专题研究
  • 在向导的右侧,您应该看到一个名为 运行时间的选项卡。选择要运行 servlet 的 Runtime 选项卡和 检查服务器

编辑: 如果没有列出服务器,您可以在 Runtimes 选项卡上创建一个新的服务器

如果您得到这个编译错误,这意味着您没有在类路径中包含 servletjar。包含这个 jar 的正确方法是将 Server Runtime jar 添加到 Eclipse 项目中。你应按以下步骤处理这个问题: 您可以从这里下载 servlet-api.jar Http://www.java2s.com/code/jar/s/downloadservletapijar.htm

Save it in directory. Right click on project -> go to properties->Buildpath and follow the steps.

Note: The jar which are shown in the screen are not correct jar.

you can follow the step to configure.

enter image description here

enter image description here enter image description here enter image description here

添加到 pom.xml

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>