【问题标题】:GWT and LocalDate is not supported by Google App Engine's JREGoogle App Engine 的 JRE 不支持 GWT 和 LocalDate
【发布时间】:2015-12-28 05:33:16
【问题描述】:

我正在尝试使用服务器上的 LocalDate 解析日期。我收到“Google App Engine 的 JRE 不支持 LocalDate”错误。我认为只有客户端代码限制了 GWT JRE 中可用的类。为什么我会在服务器端(即直接 Java 代码)看到这个?

【问题讨论】:

    标签: java google-app-engine java-8


    【解决方案1】:

    java.time.LocalDate 是在 Java 8 中引入的,即 Google App Engine 的 not yet supported。您可以在 Google Cloud Platform 的JRE Class White List 上准确查看应用程序服务器端可用的类。 GWT 兼容性无关紧要。

    【讨论】:

    • 我知道这适用于客户端,但我说的是服务器端。我的理解是使用纯 Java。
    • 您将三个不同的项目混合在一起:1) 您的本地 GWT 安装,它将您的客户端 Java 代码编译成 JavaScript 2) 您的本地 JDK,它编译您的服务器端 Java将代码转换为字节码 3) Google App Engine,它有一个运行您的字节码的 JRE。每当您在本地计算机上构建项目时,您都在使用已安装的 JDK 来编译服务器端代码。当您部署到 Google App Engine 时,GAE 的 JRE 被用于运行您已经编译的字节码。
    • 进一步澄清一下,仅仅因为您可以使用本地安装的 JDK 编译服务器端代码,并不意味着代码一定可以在 Google App Engine 的 JRE 中工作。
    • 如果你只是在本地运行,#3 不适用。
    • 本地服务器(dev_appserver 等)尽最大努力模拟生产沙箱施加的限制,以帮助您尽早诊断错误(基于使用沙箱删除的功能)。它并不是在所有情况下都做得很完美,但在这种情况下,它似乎是正确的。
    【解决方案2】:

    请检查您使用的课​​程是否在此列表中:

    http://www.gwtproject.org/doc/latest/RefJreEmulation.html

    否则,您将无法使用该类和方法。

    【讨论】:

      猜你喜欢
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多