Google App Engine是否支持Java 8?

时间:2014-10-02 20:58:18

标签: java google-app-engine

尝试开始使用Google App Engine - 它是否适用于Java 8?

我已按照此页面上的说明操作: https://console.developers.google.com/start/appengine

选择' Java',我成功完成了Maven构建,但是当我访问localhost:8080时,没有任何东西在运行。

说明"确保安装了Java 7 JDK"但是我刚刚安装了Java 8 JDK。

我是否需要单独安装Apache?

13 个答案:

答案 0 :(得分:14)

Java 8 is now generally available on App Engine Standard Environment,加入App Engine灵活环境中的GA运行时。

Learn about the differences

新的Java 8运行时具有Java 7的所有优点,但具有升级和增强功能:

  • 基于OpenJDK 8的Java运行时支持标准的公共Java 图书馆(没有白名单)
  • 没有强加安全管理员 - 您的代码不会受到Java权限问题的限制。

答案 1 :(得分:11)

在撰写本文时,您可以跟踪此问题中的状态:

答案 2 :(得分:10)

[时间的流逝将这个被接受的答案中的'否'改为'是'。请在下面查看其他答案。]

简短的回答,没有。他们会随着时间的推移整合它,但是现在如果你使用它,它会导致很多错误。我建议反对它

另请注意user7610的答案:)。它是目前在云平台上使用Java 8的唯一方法

答案 3 :(得分:9)

更新:自2017年中期开始提供“标准”(沙盒)产品,https://cloud.google.com/blog/products/gcp/java-8-on-app-engine-standard-environment-is-now-generally-available

在此之前,它通过托管虚拟机可用。我们的想法是为Docker容器提供您需要的任何软件(如Java 8),GAE将其用作您的应用程序实例VM。你仍然可以进行自动缩放,监控等等。

缺点是您需要为计算引擎VM付费。这意味着您按分钟付款并且没有免费配额。新用户帐户有60天的300美元信用额度,但在此之后你必须付款。

答案 4 :(得分:4)

如果您对在Google App Engine上使用lambda表达式感兴趣,可以尝试Retrolambda。我还没有尝试过,但它声称将Java 8 lambda表达式反向移植到Java 7。

答案 5 :(得分:3)

Google App Engine Java 8支持通常从2017年第3季度开始提供。https://cloud.google.com/appengine/docs/standard/java/runtime-java8

答案 6 :(得分:2)

是的,确实如此。我们刚刚推出了Beta版,很快就推出了GA。

https://cloudplatform.googleblog.com/2017/06/Google-App-Engine-standard-now-supports-Java-8.html

答案 7 :(得分:2)

App Engine标准Java现在支持Java8。 请参阅以下网站上的Beta文档:Java8 on GAE Standard documentation

由于

答案 8 :(得分:1)

它不是一回事,但您可以将Java 8与新的App Engine" flexible environment"一起使用。我不认为您可以访问App Engine API(例如图像服务或任务队列),但您可以使用App Engine以外的服务,例如Datastore和Pub / Sub。

同样值得注意的是,该服务目前处于测试阶段(因此未被任何SLA涵盖)。另外,pricing is different;它不是使用普通的App Engine定价结构,而是基于GCE虚拟机的使用。

答案 9 :(得分:1)

<runtime>java8</runtime>添加到a​​ppengine-web.xml文件中。

答案 10 :(得分:0)

是的,使用App Engine灵活的环境。以下是官方文档: https://cloud.google.com/appengine/docs/flexible/java/

这是这个实现的github repo: https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime

答案 11 :(得分:0)

您显然可以使用JDK8创建兼容JRE7的字节代码,这似乎是Google推荐的内容:https://cloud.google.com/appengine/docs/standard/java/download

-source 1.7 -target 1.7

答案 12 :(得分:-2)

是的,您可以使用灵活的环境。并更改app.yaml

的设置
vm: true

了解更多信息https://cloud.google.com/appengine/docs/flexible/