我正在尝试将 eclipse 用于 Java EE 来开发Web应用程序。
我需要使用 Tomcat 作为我的服务器。我已经下载了Tomcat并且它正在运行。但是我的程序没有编译。
我收到以下错误:
无法解析导入javax.servlet。
我需要做什么?
答案 0 :(得分:192)
您需要将Servlet API添加到类路径中。在Tomcat 6.0中,这是在Tomcat的servlet-api.jar
文件夹中名为lib
的JAR中。您可以将该JAR的引用添加到项目的类路径中,也可以将JAR的副本放在Eclipse项目中,并从那里将其添加到类路径中。
如果您想将JAR留在Tomcat的lib
文件夹中:
servlet-api.jar
并选择它。或者,如果您将JAR复制到项目中:
servlet-api.jar
并选择它。答案 1 :(得分:90)
如果尚未完成,则需要将Tomcat集成到 Servers 视图中。右键单击并选择 New>服务器。从列表中选择适当的Tomcat版本并完成向导。
创建新的动态Web项目时,应在第一个向导步骤中从列表中选择集成服务器作为目标运行时。
或者,如果您有现有的动态Web项目,则可以在项目属性中的目标运行时条目中设置/更改它。然后,Eclipse将自动将其所有库添加到构建路径中(在项目中没有它们的副本!)。
答案 2 :(得分:17)
您需要在POM中将依赖关系的范围设置为“已提供”。
<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 ):
编辑:如果没有列出服务器,您可以在“运行时”标签上创建一个新服务器
答案 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。
您可以按照步骤进行配置。
答案 7 :(得分:2)
Eclipse中存在同样的问题。出于某种原因,我的构建路径中没有servlet.jar文件。我最后做的是将一个“lib”文件夹从我的另一个项目复制到我正在处理的项目,然后手动进入该文件夹并将servlet.jar文件添加到构建路径(当你正确的时候会出现选项 - 单击项目资源管理器中的文件。