导入javax.servlet无法解析[重复]

问题

这个问题在这里已有答案:

  • 如何在Eclipse项目中导入javax.servlet API? 14个答案

我正在尝试使用eclipseforJava EE来开发Web应用程序。

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

我收到以下错误:

无法解析导入javax.servlet。

我需要做什么?


#1 热门回答(177 赞)

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

如果你想把JAR留在Tomcat的lib文件夹中:

  • 右键单击​​项目,单击"属性"。
  • 选择Java Build Path。
  • 单击添加外部JAR ...
  • 浏览以找到servlet-api.jar并选择它。
  • 单击"确定"以更新构建路径。

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

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

#2 热门回答(84 赞)

如果尚未完成,则需要在Tomversview中集成Tomcat。右键单击并选择"新建">"服务器"。从列表中选择适当的Tomcat版本并完成向导。

创建newDynamic Web项目时,应从第一个向导步骤中的列表asTargeted Runtime中选择集成服务器。

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


#3 热门回答(15 赞)

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

那一切都会好的。