ChatGPT解决这个技术问题 Extra ChatGPT

javax.servlet.ServletException无法解析为spring web app中的类型[重复]

这个问题在这里已经有了答案: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 吗?

K
Kishan_KP

我想这可能可行,在 Eclipse 中选择您的项目 → 然后单击顶部的项目菜单栏 → 转到属性 → 单击目标运行时 → 现在您必须选中用于运行当前项目的服务器旁边的复选框 → 单击应用 → 然后单击确定按钮。就是这样,试一试。


谢谢。在 Eclipse Kepler 中,您可能需要关闭复选框、应用、将其重新打开并再次应用以使其生效。
难以置信的!这实际上解决了它!我会将其归类为错误。对于一个IDE来说,因为一个它应该自己处理的小理由抱怨这样一个问题是非常愚蠢的。看在上帝的份上,我用 IDE 做什么?!!
使用 Eclipse Mars,这仍然是一个问题;-)。我在 Targeted runtimes 下选择了 Tomcat 6 和 7,我必须确保选择“仅”Tomcat 7(这是我的运行时)以消除此错误。
非常感谢,但你能详细说明一下到底是什么问题吗?
谢谢。它对我有用。我不知道为什么其他人会收到错误,但就我而言,我在搞乱服务器。我删除了它并重新从头开始。一开始我有12个错误。清理删除了一半,但即使在重新启动后仍有 6 个(实际上是从昨天到今天的启动)。现在这解决了我的问题。注意:即使在应用这个之前,如果我运行服务器,我的代码就可以工作。
A
Arjan Tijms

在我看来,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 服务器一起使用。谢谢一堆
C
Community

https://i.stack.imgur.com/4QFXL.png

步骤1

转到项目的属性(使用 Alt+Enter 或右键单击)

第2步

检查 Targeted Runtime 下的 Apache Tomcat v7.0,它可以工作。

来源:https://stackoverflow.com/a/9287149


V
Venkata Naresh Babu

从右键单击项目添加服务器(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>

它将解决问题。


i
ivan.ukr
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.3.2-b02</version>
    <scope>provided</scope>
</dependency>

为我工作。


A
Arash moradabadi

正如几乎所有人所说,添加运行时服务将解决问题。但是,如果没有运行时服务,或者您不喜欢 Google App Engine 之类的东西,请单击 Targeted Runtimes 列表右下方的新建按钮并添加新的运行时服务器环境。然后检查它并单击确定并让编译器再次编译您的项目。希望能帮助到你 ;)


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅