Partager via


Transition de Java 7 à Java 8

Cet article fournit des conseils généraux sur la migration de votre application de Java 7 vers Java 8. L’utilisation des fonctionnalités Java 8 n’est pas couverte.

Il n’existe aucune solution universelle pour passer du code Java 7 à Java 8. Le passage de Java 7 à Java 8 est généralement une petite quantité de travail. Les problèmes potentiels incluent une poignée d’API modifiées, le renforcement de l’inférence de type en javac, les modifications apportées aux chargeurs de classes et les modifications apportées à permgen (partie du garbage collection).

En général, la meilleure approche consiste à essayer d’exécuter sur Java 8 sans recompiler en premier. Cette approche permet à votre application de s’exécuter le plus rapidement possible. Pour une bibliothèque, votre objectif est de publier un artefact compilé et testé avec JDK 8.

Fin de support Java 7 (EOL)

Le support de la communauté se terminera lorsque Java 7 atteint la fin de vie le 29 juillet 2022. Toutes les applications s’exécutant sur Java 7 continueront à s’exécuter, mais Java 7 lui-même ne recevra pas de mises à jour ni de correctifs de sécurité. Pour réduire les risques et les vulnérabilités de sécurité potentielles, mettez à niveau vos applications vers Java 8 ou 11 en fonction des besoins de votre charge de travail.

Le guide canonique à suivre est le Guide de migration JDK Oracle. Le guide de migration couvre toutes les incompatibilités dans la spécification Java et les incompatibilités dans l’implémentation du JDK. La plupart de ces incompatibilités sont des cas de périphérie, et vous devez examiner quand vous voyez un avertissement ou une erreur.

Exécution sur Java 8

La plupart des applications doivent s’exécuter sur Java 8 sans modification. La première chose à essayer est d’exécuter sur Java 8 sans recompiler le code. L'objectif de simplement exécuter est de voir quels avertissements et erreurs résultent du processus. Cette approche permet d'obtenir une
application à exécuter sur Java 8 plus rapidement en mettant l’accent sur le travail minimal à effectuer.

Vous pouvez résoudre la plupart des problèmes que vous pouvez rencontrer sans avoir à recompiler le code. Si vous devez résoudre un problème dans le code, effectuez le correctif, mais continuez à compiler avec JDK 7. Si possible, travaillez sur l’exécution de l’application avecjava la version 8 avant de compiler avec JDK 8.

Compilation avec Java 8

La compilation avec JDK 8 peut nécessiter des mises à jour pour générer des scripts, des outils, des frameworks de test et des bibliothèques incluses. Utilisez l'option -Xlint:unchecked pour javac afin d'obtenir les détails sur l'utilisation de l'API interne de JDK et d'autres avertissements.

Migration hors de Java 7 pour Azure App Service

Pour migrer vos Services d'applications de Java 7 vers Java 8 ou 11, connectez-vous au portail Azure, accédez aux applications web que vous souhaitez mettre à jour, puis allez dans Configuration>Paramètres> de Pile. Vous verrez des listes déroulantes pour les versions principales et mineures Java et la version Tomcat si vous utilisez Tomcat. Sélectionnez Java 8 ou 11. N’oubliez pas que vous pouvez apporter cette modification de configuration dans un emplacement de déploiement pour tester en toute sécurité la modification de configuration, puis échanger le nouvel environnement en production. (Java 7 peut être masqué pour empêcher les clients de prendre des dépendances sur les anciens runtimes.) Pour plus d’informations, consultez Configurer des environnements intermédiaires dans Azure App Service.

Utiliser le sélecteur pour modifier votre version java

Vous pouvez utiliser le JAVA_TOOLS paramètre d’application si vous devez spécifier les nouvelles options d’exécution et qu’elles seront appliquées au démarrage de votre application. Pour plus d’informations, consultez Configurer une application Java pour Azure App Service. Pour plus d’informations sur les stratégies de prise en charge des runtimes sur App Service, consultez la section Langages et frameworks intégrés de la vue d’ensemble d’App Service.

Étapes suivantes

Une fois votre application exécutée sur Java 8, nous vous recommandons de suivre le chemin de modernisation Java 11 à l’aide des guides suivants.