Google App Engine是否支持Java 8?

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

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

选择’Java’,我成功完成了Maven构建,但是当我访问localhost时:8080没有运行。

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

我需要单独安装Apache吗?

[时间的推移已经将’否’从这个被接受的答案改为’是’。 请在下面查看其他答案。]

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

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

Java 8现在通常可在App Engine标准环境中使用 ,在App Engine Flexible Environment上加入GA运行时。

了解差异 。

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

  • 基于OpenJDK 8的Java运行时支持标准的公共Java库(无白名单)
  • 不强加安全管理器 – 您的代码不受Java权限问题的限制。

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

  • Java 8支持: https : //code.google.com/p/googleappengine/issues/detail?id = 9537

更长的答案,是的,通过托管虚拟机。 我们的想法是为Docker容器提供您需要的任何软件(如Java 8),GAE将其用作您的应用程序实例VM。 您仍然可以进行自动调节,监控等等。

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

据Google 讨论的一名员工称,正在积极开展对“沙盒”AppEngine中Java 8的支持。 这个更新的演示文稿还说即将推出Java 8支持https://youtu.be/aKUlu9-psZo?t=15m28s 。

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

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

是的,它确实。 我们刚刚推出了Beta版和GA版。

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

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

谢谢

这不是一回事,但您可以将Java 8与新的App Engine“ 灵活环境 ”结合使用。 我认为您不能访问App Engine API(例如图像服务或任务队列),但您将能够使用位于App Engine之外的服务,例如数据存储区和发布/订阅源。

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

java8到appengine-web.xml文件中。

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

以下是此实现的github仓库: https : //github.com/GoogleCloudPlatform/appengine-java-vm-runtime

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

 -source 1.7 -target 1.7 

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

 vm: true 

有关更多信息, 请访问https://cloud.google.com/appengine/docs/flexible/