【发布时间】:2014-04-28 19:50:39
【问题描述】:
在使用 GAE SDK 1.9.3 和 Java 7 在 Eclipse Kepler (Windows 7) 上运行基本 servlet 时出现以下错误:
java.lang.NoClassDefFoundError: javax.servlet.http.HttpServlet is a restricted class.
Please see the Google App Engine developer's guide for more details.
复制:
- 安装 Java 7 SDK
- 安装开普勒
- 安装 GAE Eclipse 插件
- 创建一个 GAE 网络项目
- 实现基本servlet的init方法,在
web.xml中设置load-on-startup为1 - 然后运行 Web 应用程序
我在 2 台机器上尝试过,我得到了同样的错误。
【问题讨论】:
-
能否提供第 5 步的代码?
-
只需覆盖 servlet 中的 init(ServletConfig config) 并系统输出一些东西。如果 load-on-startup 设置为 1,该方法将在启动时调用。
-
更新:如果我使用不正确的 url,我会收到同样的错误。例如:localhost:8888/abc:访问 /abc 时出现问题。原因:javax.servlet.FilterChain 是一个受限类。有关详细信息,请参阅 Google App Engine 开发人员指南。引起:java.lang.NoClassDefFoundError:javax.servlet.FilterChain 是一个受限类。我不明白为什么会出现这个受限类错误。
标签: google-app-engine servlets noclassdeffounderror kepler