我有一个由Maven集成在Eclipse中创建的项目。一切工作正常,但在工作空间中的所有JSP文件中都有这个。
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
到第一个字符串的地方。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
当我创建一个基本的动态网页项目和JSP在--一切正常,没有错误。
先添加一个运行时,选择项目属性。 然后从'Runtimes'.标签中勾选服务器名称,如图所示。 标签,如图所示。
如图所示,从项目面选择运行时][1] 。
在你的依赖中包括servlet-api-3.1.jar
。
Maven
<!-- language: lang-xml -->
<依赖性>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<版本>3.1.0</版本>
<范围>提供</范围>
</dependency>
Gradle
<!-- language: lang-groovy -->
配置 {
提供
}
sourceSets {
main { compileClasspath += configurations. provided }
}
依赖性 {
provided 'javax.servlet:javax.servlet-api:3.1.0'
}
对于Ant项目。
确保你有servlet-api.jar在lib
文件夹里。
对于Maven项目:。
确保在POM.xml
中添加了依赖关系。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
另一种方法是。 更新项目面,以获取正确的服务器。
在这个位置勾选这个框。
项目 → 属性 → 目标运行时 → Apache Tomcat(任何服务器)。
Project → Properties → Target Runtimes → *Apache Tomcat为我工作。 在 Facets 下没有 Target Runtimes (我在 [Eclipse v4.4][1] (Luna)上)。
[1]: https://en.wikipedia.org/wiki/Eclipse_%28software%29#Releases
在服务器运行时中添加Tomcat服务器就可以了:。
项目属性 → 目标运行时 →从列表中选择你的服务器,"JBoss Runtime"。 → Finish</kbd>。
如果是Apache,可以选择Apache Runtime。
![在此输入图片描述][1] 。
这些步骤真的可以帮助你。
菜单窗口 → 首选项 → 支出服务器 → 运行环境 → 添加 →选择一个名称,然后选择你已经安装在你的电脑上的Apache服务器路径(你也可以按下载和安装) → 完成</kbd>。 → OK</kbd>。
参考文献# [更多信息,请点击这里][1] 。
项目属性 → Java Build Path → Add Library →从列表中选择"Server Runtime" 从列表中 → 下一步* →选择"Apache Tomcat"。 → 完成</kbd>。
参考文献# [本答案][2]
[1]: http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jst.server.ui.doc.user%2Ftopics%2Ftwtomprf.html [2]: https://stackoverflow.com/questions/26936848/the-superclass-javax-servlet-http-httpservlet-was-not-found-on-the-java-build?answertab=active#tab-top
只需将这些依赖关系添加到你的pom.xml
文件中即可。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
由于这个问题没有得到解答,我猜测除了Maven的依赖性之外,其他的东西都是运维构建的问题。
虽然没有使用Maven,但在从svn重新创建开发环境时,我时常会遇到同样的问题,而且我总是忘记原因,不得不弄清楚。 不幸的是,这似乎是Eclipse的问题。
我能够从曾经工作的项目中删除所有这样的错误,方法是只选择一个动态的web项目,或者只选择依赖tomcat的项目,并在构建顺序中移动一个依赖关系。 这似乎迫使所有的项目正常重建,然后所有的错误都得到解决。
右击一个web项目,选择"构建路径"。 -> "配置构建路径"。 进入选项卡"Order and Export",然后选择一个库或jar条目,将其上下移动。 我使用了JRE系统库,并将其移动到顶部。
点击确定,所有的红色都会消失!
如果不管什么原因都不行,就从命令行中构建。
ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 clean
ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 compile
ant -Dj2ee.server.home=D:\apache-tomcat-8.0.23 dist