【问题标题】:WebServlet annotation not working in production (works in development)WebServlet 注释在生产中不起作用(在开发中起作用)
【发布时间】:2018-07-21 12:43:54
【问题描述】:

我正在使用 Google App Engine STANDARD (SDK 1.9.62) 并将我的 appengine-web.xml 设置为使用 java8 运行时并尝试获得一个简单的servlet example。在本地开发服务器中按预期工作,但在谷歌云中给我一个 404 错误。我想使用 Google App Engine 标准环境(不是 flex)。是否需要打开 yaml 条目或 xml 条目才能使其正常工作?我如何确定 GAE 使用的是 3.1 servlet 规范而不是 2.5?

【问题讨论】:

    标签: java google-app-engine servlets


    【解决方案1】:

    App Engine 标准版使用 appengine-web.xml,而灵活版使用 app.yaml

    现在,这个 Java-docs-sample 我们使用 pom.xml 来设置依赖关系。您可以看到那里设置的依赖项的版本。

    在这种情况下,可以使用 mvn appengine:deploy 部署该示例,并且在 App Engine 中服务的端点将是 /requests。即 https://project-name.appspot.com/requests 应该返回一个“你好,世界”

    【讨论】:

    • 我很欣赏这项工作,但本地部署或 GAE 部署都不适用于“请求”子项目。 mvn 吐了Unable to stage: java.lang.RuntimeException: Failed to generate quickstart-web.xml.
    【解决方案2】:

    好的。谜团已揭开。我有两个版本在部署中运行,一个原始的 java7、servlet 2.5 api 版本正在处理所有流量。我的 INTENDED 版本是 java8,servlet 3.x 处于空闲状态并获得 0% 的流量。一旦我在谷歌的云控制台中使用了版本迁移功能,带有 servlet 3.x 注释的 servlet 就开始工作了。

    【讨论】:

      猜你喜欢
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 2017-01-02
      • 1970-01-01
      相关资源
      最近更新 更多