web-dev-qa-db-fra.com

Google App Engine prend-il en charge Java 8?

Essayer de démarrer avec Google App Engine: fonctionne-t-il avec Java 8?

J'ai suivi les instructions sur cette page: https://console.developers.google.com/start/appengine

En sélectionnant 'Java', j'ai terminé avec succès la construction de Maven, mais lorsque je visite localhost: 8080, rien ne fonctionne.

Les instructions indiquent "assurez-vous que Java 7 JDK est installé", mais je viens d'installer Java 8 JDK.

Dois-je installer séparément Apache?

26
512damon

[Le ​​passage du temps a changé le "non" de cette réponse acceptée à "oui". Veuillez consulter les réponses ci-dessous.]

Réponse courte, non. Ils l’intégreront avec le temps, mais pour l’instant, si vous l’utilisez, cela vous causera beaucoup d’erreurs. Je recommanderais contre

Prenez également note de la réponse de user7610 ci-dessous :). C’est désormais le seul moyen d’avoir Java 8 sur la plateforme cloud

10
Patrice

Java 8 est désormais généralement disponible sur App Engine Standard Environment , rejoignant l'exécution GA sur App Engine Flexible Environment.

En savoir plus sur les différences .

Le nouveau runtime Java 8 présente tous les avantages de Java 7, mais avec des mises à niveau et des améliorations:

  • Le runtime Java basé sur OpenJDK 8 prend en charge la bibliothèque Publique standard Java (pas de liste blanche).
  • N'impose pas de gestionnaire de sécurité - votre code ne sera pas limité par des problèmes d'autorisations Java.
14
crb

Pas au moment de la rédaction, mais vous pouvez suivre le statut dans ce numéro:

11
Andrejs

Mise à jour: il est disponible dans l'offre "standard" (bac à sable) depuis la mi-2017, https://cloud.google.com/blog/products/gcp/Java-8-on-app-engine-standard-environment- est maintenant disponible

Auparavant, il était en quelque sorte disponible, via les ordinateurs virtuels gérés. L'idée est de fournir à un conteneur Docker le logiciel dont vous avez besoin (comme Java 8) et que GAE l'utilisera comme machine virtuelle d'instance d'application. Vous obtenez toujours la mise à l'échelle automatique, la surveillance et tout ça.

L'inconvénient est que vous êtes facturé comme pour les ordinateurs virtuels Compute Engine. Cela signifie que vous payez à la minute et qu’il n’ya pas de quota gratuit. Il y a le crédit de 300 $ pour les nouveaux comptes d'utilisateurs pendant 60 jours, mais après cela, vous devrez payer.

9
user7610

Si vous souhaitez utiliser les expressions lambda sur Google App Engine, essayez Retrolambda . Je ne l’ai pas encore essayé, mais il prétend rétablir les expressions lambda Java 8 dans Java 7.

4
Stijn Van Bael

La prise en charge de Java App Engine Java 8 est généralement disponible à partir du troisième trimestre 2017. https://cloud.google.com/appengine/docs/standard/Java/runtime-Java8

3
Dagang

App Engine Standard Java prend désormais en charge Java8 . Voir la documentation bêta à l’adresse: Documentation Java8 sur GAE Standard

Merci

2
Ludo
2
Amir Rouzrokh

Ce n'est pas tout à fait la même chose, mais vous pouvez utiliser Java 8 avec le nouveau moteur d'application " environnement flexible ". Je ne pense pas que vous puissiez accéder aux API App Engine (telles que le service d'images ou les files d'attente de tâches), mais vous pourrez utiliser des services résidant en dehors d'App Engine, tels que le magasin de données et Pub/Sub. 

Il convient également de noter que le service est actuellement en version bêta (il n'est donc couvert par aucun accord de niveau de service). En outre, le pricing est différent ; au lieu d'utiliser la structure de tarification normale d'App Engine, elle repose sur l'utilisation des machines virtuelles GCE.

1
Ian

Ajoutez <runtime>Java8</runtime> à votre fichier appengine-web.xml. 

1
Dayna

Oui, en utilisant l'environnement flexible App Engine. Voici les documents officiels: https://cloud.google.com/appengine/docs/flexible/Java/

Et voici le dépôt github pour cette implémentation: https://github.com/GoogleCloudPlatform/appengine-Java-vm-runtime

0
Amir Rouzrokh

Vous pouvez apparemment utiliser JDK8 pour créer du code octet compatible JRE7, et cela semble être ce que Google recommande: https://cloud.google.com/appengine/docs/standard/Java/download

-source 1.7 -target 1.7
0
Raven