1714 votes

Non pris en charge majeure.version mineure de 51,0

Je suis en train d'utiliser Notepad++ comme mon tout-en-un outil de modifier, d'exécuter, de compiler, etc.

J'ai JRE installé, et j'ai mis ma variable de chemin d'accès à la .../bin.

Quand je lance mon "Hello world" dans Notepad++, j'obtiens ce message:

java.lang.UnsupportedClassVersionError: test_hello_world :
 Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
       .........................................

Je pense que le problème ici, c'est sur les versions; l'une des versions de Java peut être vieux ou trop nouveau.

  1. Comment puis-je résoudre ce problème?
  2. Dois-je installer le JDK et le programme d'installation de ma variable de chemin d'accès pour le JDK au lieu de JRE?
  3. Quelle est la différence entre le PATH variable dans JRE ou JDK?

2110voto

Juha Palomäki Points 7216

Le numéro de version indiqué décrit la version de la JRE le fichier de classe est compatible avec.

Le signalé numéros sont les suivants:

J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

(Source: http://en.wikipedia.org/wiki/Java_class_file)

Pour résoudre le problème, vous devriez essayer d'exécuter le code Java avec une version plus récente de Java JRE ou spécifier le paramètre target pour le compilateur Java pour demander au compilateur de créer un code compatible avec les anciennes versions de Java.

Par exemple, dans le but de générer des fichiers de classe compatible avec Java 1.4, utilisez la ligne de commande suivante:

javac -target 1.4 HelloWorld.java

Avec les nouvelles versions du compilateur Java vous êtes susceptible d'obtenir un avertissement à propos de la classe de bootstrap chemin d'accès n'étant pas défini. Plus d'informations sur cette erreur est disponible dans blog Nouveau javac avertissement pour le réglage d'une ancienne source sans bootclasspath.

404voto

vivek rai Points 3253

java.lang.UnsupportedClassVersionError en raison d'une hausse des JDK lors de la compilation et de la baisse des JDK au cours de l'exécution.

125voto

Cacovsky Points 806

Dans Eclipse, je suis juste allé à la commande de menu Fenêtre -> Préférences -> Java -> Compilateur puis réglez "Compilateur niveau de conformité" pour de 1,6.

65voto

ERJAN Points 2886

Ne vous inquiétez pas, je l'ai résolu.

C'est simple - vous devez installer à la FOIS JRE / JDK avec la même version.

JRE 6 -> JDK 6

JRE 7 -> JDK 7

Et ainsi de suite.

45voto

Brad Parks Points 5513

Cette erreur signifie que vous essayez de charger un Java "classe" fichier qui a été compilé avec une version plus récente de Java que vous essayez de le charger avec.

Par exemple, votre .class le fichier pourrait avoir été compilé pour JDK 7, et vous essayez de le faire fonctionner avec le JDK 6.

La solution est donc soit:

  • Mise à niveau de votre Java runtime ou
  • Recompiler la classe, si vous avez la source, à l'aide de votre local compilateur Java (si vous en avez un).

    javac FileName.java

Pour les développeurs, cela peut se produire si un autre développeur vérifie dans un .fichier de classe, et ils ont une version plus récente de java que vous avez!

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