如何检查我拥有哪个 servlet-api 版本以及如何更改它?

How do I check which servlet-api version I have and how to change it?

我开始学习 GWT 并创建了第一个非常简单的项目。 但是当我 运行 超级开发模式下的项目并从浏览器加载我的第一个页面时,Eclipse 中的控制台显示错误:

NoSuchMethodError: javax.servlet.http.HttpServletResponse.getHeader(String) NoSuchMethodError: javax.servlet.http.HttpServletResponse.isAsyncStarted(String)

从其他帖子中,我了解到我需要检查我的 servlet-api 版本并且我可能使用的是旧版本。

如何检查我拥有哪个 servlet-api 版本以及如何更改它? 从我从其他帖子中读到的内容来看,我不明白我必须做什么。

我正在使用 Google App Engine SDK 1.9.58。 在 SDK > servlet-api.jar > META-INF 文件夹中有一个 MANIFEST.MF 文件,其内容为:

Manifest-Version: 1.0 Created-By: blaze-singlejar Build-GPlatform: gcc-4.X.Y-crosstool-v18-llvm-grtev4-k8

所以它没有告诉我我有哪个 Servlet API 版本。

在同一个包中,还有HttpServletResponseclass,显然它没有这两个方法。

谢谢

我使用 GWT SDK 2.5.1 而不是 GWT SDK 2.82 解决了我的问题。 我不是 100% 确定,但我认为 GWT SDK 使用 2.6.0 版以上的 Servlet 3.0。 较低版本使用 Servlet 2.5 ,它与我的 GAE 版本兼容 (Google App Engine SDK 1.9.58)