导入javax.servlet无法解析

时间:2010-11-07 20:07:00

标签: java eclipse tomcat servlets

我正在尝试将 eclipse 用于 Java EE 来开发Web应用程序。

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

我收到以下错误:

  

无法解析导入javax.servlet。

我需要做什么?

8 个答案:

答案 0 :(得分:192)

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

如果您想将JAR留在Tomcat的lib文件夹中:

  • 右键单击该项目,单击属性
  • 选择 Java构建路径
  • 点击图书馆标签
  • 点击添加外部JAR ...
  • 浏览查找servlet-api.jar并选择它。
  • 点击确定以更新构建路径。

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

  • 右键单击该项目,单击属性
  • 选择 Java构建路径
  • 点击添加JAR ...
  • 在项目中找到servlet-api.jar并选择它。
  • 点击确定以更新构建路径。

答案 1 :(得分:90)

如果尚未完成,则需要将Tomcat集成到 Servers 视图中。右键单击并选择 New>服务器。从列表中选择适当的Tomcat版本并完成向导。

创建新的动态Web项目时,应在第一个向导步骤中从列表中选择集成服务器作为目标运行时

或者,如果您有现有的动态Web项目,则可以在项目属性中的目标运行时条目中设置/更改它。然后,Eclipse将自动将其所有库添加到构建路径中(在项目中没有它们的副本!)。

答案 2 :(得分:17)

您需要在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>

然后一切都会好的。

答案 3 :(得分:13)

servlet-api.jar添加到您的类路径中。你可以从tomcat的lib文件夹中获取它。

答案 4 :(得分:12)

我遇到了同样的问题,因为我的动态网络项目&#34;没有引用我想要使用的已安装服务器,因此没有引用服务器提供的Servlet API。

以下步骤解决了这个问题,而没有在Java Build Path中添加额外的Servlet-API( Eclipse版本:Luna ):

  • 右键单击
  • 选择属性
  • 在&#34;属性&#34;左侧列表中选择项目构面。向导
  • 在向导的右侧,您会看到一个名为运行时的标签。选择Runtime选项卡,然后选择检查服务器以运行servlet。

编辑:如果没有列出服务器,您可以在“运行时”标签上创建一个新服务器

答案 5 :(得分:8)

添加到pom.xml

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

答案 6 :(得分:5)

如果出现此编译错误,则表示您没有在类路径中包含servlet jar。包含此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.

注意:屏幕上显示的jar是不正确的jar。

您可以按照步骤进行配置。

enter image description here

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

答案 7 :(得分:2)

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