337 votes

La classe a été compilée par une version plus récente de l'environnement Java.

Lors de l'exécution de selenium script, j'obtiens le message d'erreur suivant dans la console Eclipse :

La classe a été compilée par une version plus récente de l'environnement Java (version 53.0 du fichier de classe), cette version du Runtime Java ne reconnaît que les versions de fichier de classe jusqu'à 52.0.


  • Version Java : 8
  • IDE : Eclipse Oxygen
  • Version de Firefox : 46

12 votes

La version 53 du fichier de classe = Java 9. Votre JVM Java 8 ne peut pas exécuter le code Java 9.

527voto

Haagenti Points 499

C'est juste une erreur de version. Vous avez compilé votre code en utilisant la version 9 de java et votre JRE actuel est la version 8. Essayez de mettre à jour votre JRE vers la version 9.

49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14

54 votes

Donner des conseils sur le logique le choix pourrait ne pas être une bonne solution du tout... et si le projet est exécuté avec jre-8 en premier lieu et que quelqu'un a accidentellement compilé un module contre 9 ?

0 votes

Je pense que la mise à jour ne causera pas de problèmes puisqu'il n'y aura pas de problèmes de rétrocompatibilité. Et c'était logique puisque je crois que le compilateur a été mis à jour à la dernière version.

29 votes

Vous pensez en termes de petit projet, de bac à sable ; pour les projets d'entreprise, ce n'est jamais un changement facile. Par exemple, certains bogues ont été corrigés en 8 pour les génériques dont vous dépendiez des effets secondaires en 7 ; ou encore HashMap l'ordre est passé de 7 à 8... etc. J'ai été confronté à ce problème. Tout simplement dire - passer au 9 est une bonne option, mais jamais une option simple et rapide

71voto

Eric D Points 351

IDE : Eclipse Oxygen.3

Pour corriger temporairement le problème, procédez comme suit :

Project menu > Properties > Java Compiler > Compiler compliance level > 1.8

Une solution permanente implique probablement l'installation du JDK 9.

Pour info, 1.8 est le nom de Java 8.

Barre latérale

Je suis récemment revenu à Java après une incursion dans le C# (une bouffée d'air frais) et j'ai installé Eclipse Oxygen sur un système propre sur lequel Java n'avait jamais été installé auparavant. Cette tout par défaut avec une toute nouvelle installation d'Eclipse Oxygen, mais d'une manière ou d'une autre, Eclipse ne peut pas obtenir ses propres paramètres pour correspondre au jdk qui est installé. C'est le deuxième projet que j'ai créé et la deuxième fois que je me heurte à ce casse-tête. Il est temps de revenir au C# ?

Question connexe

a été compilé par une version plus récente du Java Runtime (fichier de classe version 53.0)

0 votes

Intéressant. Cela signifie-t-il que le bytecode n'est PAS compatible avec le futur ?

9voto

Eugene Points 6271

53 est l'abréviation de java-9, ce qui signifie que la classe que vous avez a été compilée avec javac-9 et vous essayez de l'exécuter avec jre-8 . Soit vous recompilez cette classe avec javac-8 ou utiliser la jre-9

1voto

ARVIND1994 Points 1

Allez dans la section Projet, cliquez sur Propriétés > puis sur Compilateur Java > vérifiez que le niveau de conformité du compilateur est 1.8, sinon il ne doit pas y avoir d'avertissement jaune en bas.

1voto

Carlos Casallas Points 244

Rafraîchir les dépendances de gradle fonctionne pour moi : Clic droit sur le projet -> Gradle -> Rafraîchir le projet Gradle.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X