tom*_*tom 313 java eclipse servlets
我想在Eclipse中使用Servlet进行开发,但它说javax.servlet
无法解析包.如何将javax.servlet
包添加到Eclipse项目中?
Bal*_*usC 404
确保您至少使用Eclipse IDE for Java EE开发人员(使用EE).它包含用于创建动态Web项目和轻松集成servlet容器的开发工具(这些工具是Web Tools Platform,WTP的一部分).如果你已经有Eclipse IDE for Java(没有EE),并且手动安装了一些与EE相关的插件,那么很可能它没有正确完成.你最好把它丢弃并抓住真正的Java IDE for Java EE.
您还需要确保已在计算机上安装了servletcontainer,该servletcontainer至少实现与生产环境中的servletcontainer相同的Servlet API版本,例如Apache Tomcat,Oracle GlassFish,JBoss AS/WildFly等.通常,只需下载ZIP文件并提取它就足够了.如果是Tomcat,请不要下载EXE格式,这仅适用于基于Windows的生产环境.另请参阅ao Tomcat服务器在localhost上所需的几个端口(8005,8080,8009)已在使用中.
servletcontainer是Servlet API的具体实现.请注意,Oracle.com 上的Java EE SDK下载基本上包含GlassFish.因此,如果您已经下载了Java EE SDK,那么您基本上已经拥有了GlassFish.另外请注意,例如GlassFish和JBoss的AS/WildFly是更不仅仅是一个servletcontainer,他们也支持JSF,EJB,JPA和所有其他Java EE的空想.另请参阅ao Java EE究竟是什么?
在计算机上安装了Eclipse for Java EE和servletcontainer后,在Eclipse中执行以下步骤:
在Eclipse中集成servletcontainer
一个.通过Servers视图
湾 或者,通过Eclipse首选项
将服务器与项目关联
一个.在新项目中
在向导中,将Target Runtime设置为集成服务器.
湾 或者,在现有项目中
无论哪种方式,Eclipse都会自动在构建路径中获取servletcontainer的库.这样您就可以导入和使用Servlet API.
在任何情况下,您都不需要在项目的Build Path属性中摆弄.你应该首先从不手动复制/下载/移动/包括个别特定servletcontainer-库,例如servlet-api.jar
,jsp-api.jar
,el-api.jar
,j2ee.jar
,javaee.jar
,等它只会导致未来的可移植性,兼容性,类路径和可维护性的烦恼,因为当它是你的web应用程序将无法正常工作部署到与最初从中获取这些库的make/version不同的servlet容器.
如果您正在使用Maven,则需要确保已将目标运行时已提供的特定于servlet容器的库标记为<scope>provided</scope>
.
下面是一些典型的例外,你可以当你的垃圾/WEB-INF/lib
,甚至/JRE/lib
,/JRE/lib/ext
等在一个不小心尝试修复编译错误特定servletcontainer的库:
pra*_*upd 218
转到项目的属性(使用Alt+ Enter或righ-click)
在Targeted Runtime下查看Apache Tomcat v7.0并且它可以正常工作.
小智 79
与Hari有点不同:
右键单击项目---> Properties ---> Java Build Path ---> Add Library ... ---> Server Runtime ---> Apache Tomcat ----> Finish.
Har*_*dla 12
快速修复 - 这在Eclipse中工作 - 右键单击项目 - >属性 - > Java构建路径(Tab) - >添加外部JAR - >找到servlet api jar实现(如果Tomcat - 其名为servlet-api.jar) - >单击确定.而已 !!
Zee*_*ter 11
在pom.xml中添加javax.servlet依赖项.你的问题将得到解决.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
对于 Maven 项目添加以下依赖项:
<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
对于 gradle 项目:
dependencies {
providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'
}
Run Code Online (Sandbox Code Playgroud)
或下载javax.servlet.jar
并添加到您的项目中。
您可以简单地servlet-api.jar
将该jar文件复制并复制到lib文件夹中,该文件夹位于WEB-INF中.然后只需清理并构建您的项目,您的错误就会得到解决.
**OR**
Run Code Online (Sandbox Code Playgroud)
您可以使用以下步骤直接将jar文件添加到库中.
servlet-api.jar
文件的路径.我知道这是一个老帖子.但是,我观察了另一个实例,在该项目中已经添加了Tomcat,但我们仍然遇到此错误.这样做是为了解决这个问题:
Alt + Enter
Project Facets
右边的细节旁边是另一个标签"Runtimes".安装的tomcat服务器将在那里列出.选择它.
保存配置并完成!
希望这有助于某人.
归档时间: |
|
查看次数: |
610621 次 |
最近记录: |