这个问题在这里已经有了答案:How do I import the javax.servlet / jakarta.servlet API in my Eclipse project? (16 个回答) 2 年前关闭。
我正在使用 Spring 框架开发 Web 应用程序,但在某些 jsp 页面中出现以下错误。
javax.servlet.ServletException cannot be resolved to a type
我也包含了 servlet-api
,但仍然显示相同的错误消息。如何克服这个问题?
我想这可能可行,在 Eclipse 中选择您的项目 → 然后单击顶部的项目菜单栏 → 转到属性 → 单击目标运行时 → 现在您必须选中用于运行当前项目的服务器旁边的复选框 → 单击应用 → 然后单击确定按钮。就是这样,试一试。
在我看来,eclipse 无法识别 java ee web api(servlet、el 等)。如果您使用的是 maven 并且不想使用指定的服务器运行时配置 eclipse,请将以下依赖项放在您的 web 项目 pom 中:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version> <!-- Put here the version of your Java EE app, in my case 7.0 -->
<scope>provided</scope>
</dependency>
ServletException
错误时,我正在 Intellij IDE 上将我的 spring boot 应用程序转换为与我现有的专用 tomcat 服务器一起使用。谢谢一堆
https://i.stack.imgur.com/4QFXL.png
步骤1
转到项目的属性(使用 Alt+Enter 或右键单击)
第2步
检查 Targeted Runtime 下的 Apache Tomcat v7.0,它可以工作。
来源:https://stackoverflow.com/a/9287149
从右键单击项目添加服务器(tomcat)并选择“属性”转到“项目事实”“运行时选项卡”其他明智的“目标运行时”
如果是 maven pom.xml 问题,请尝试将其添加到 pom.xml
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
它将解决问题。
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.2-b02</version>
<scope>provided</scope>
</dependency>
为我工作。
正如几乎所有人所说,添加运行时服务将解决问题。但是,如果没有运行时服务,或者您不喜欢 Google App Engine 之类的东西,请单击 Targeted Runtimes 列表右下方的新建按钮并添加新的运行时服务器环境。然后检查它并单击确定并让编译器再次编译您的项目。希望能帮助到你 ;)
不定期副业成功案例分享