Unsupported major.minor version 52.0 : comment éviter cette erreur

Lorsque vous exécutez un programme développé avec le langage Java, le message Unsupported major.minor version peut s'afficher dans une fenêtre à l'écran. Cette erreur est due à une différence de version entre le compilateur et le runtime.

Le langage Java est un langage compilé. Une fois le programme écrit, il doit être compilé puis ce sont ces fichiers compilés qui seront exécutés par le runtime pour lancer le programme. Le message d'erreur Unsupported major.minor version 52.0 apparaît quand vous avez compilé le programme avec une version du JDK supérieure à la version utilisée pour exécuter le programme avec le runtime. Le numéro de version vous indique dans quelle version le programme a été compilé. Ici, le numéro 52 fait référence au JDK en version 1.8. L'erreur s'est produite parce que le runtime utilise une version 1.7 ou antérieure du JDK.

Pour corriger ce problème, il faut modifier les réglages du compilateur et du runtime pour qu'ils utilisent la même version du JDK. Une autre option consiste à mettre à jour le compilateur pour utiliser la dernière version du SDK puis à utiliser la compilation croisée. Cette méthode consiste à compiler à destination d'une version de Java différente de celle utilisée sur votre ordinateur. Vous pouvez compiler le programme avec la version la plus petite requise pour votre programme puis ensuite utiliser un runtime mis à jour pour l'exécuter. Cela fonctionne lorsque la version de la JDK du runtime est plus récente que celle du compilateur. Pour cela, utilisez l'option -target-version de la commande javac. Pour utiliser cette option, vous devez au minimum avoir le fichier rt.jar du JRE pour la version souhaitée.

Si vous utilisez l'environnement de développement Intellij, vous pouvez modifier les versions utilisées en allant dans le menu Maven Setting, puis Maven. Dans la rubrique Importing, assurez-vous que la version du JDK mentionné soit la même que celle de la JRE écrite dans le menu Runner. Vous devez également faire correspondre la version de la JDK utilisée pour le projet. Cliquez sur le menu File, puis Project Structure et rendez-vous dans la rubrique SDK. Le chemin allant vers la JDK doit pointer vers la même version que celle utilisée dans les autres réglages.

Java