282 votes

Comment vérifier la version de jdk utilisée pour compiler un fichier .class

Double Possible:
Outil pour lire et afficher Java .versions de classe

Je suis en train de déboguer un "Mauvais numéro de version dans .fichier de classe " erreur en java, il est un moyen pour moi de vérifier quelle version de l' .les fichiers de classe sont?

Je suis en utilisant Jre1.5.0_6, mais mon JDK est la version 1.6.0_13, je compile avec le mode de compatibilité fixée à 1,5 dans eclipse qui me semblait...

612voto

John Calsbeek Points 19381

Vous êtes à la recherche pour cette sur la ligne de commande (pour une classe Maclasse):

Sous Unix/Linux:

javap -verbose MyClass | grep "major"

Sur Windows:

javap -verbose MyClass | findstr "major"

Vous voulez que le majeur de la version à partir des résultats. Voici quelques exemples de valeurs:

  • Java 1.2 utilisations majeures de la version 46
  • Java 1.3 utilisations majeures de la version 47
  • Java 1.4 utilise la version majeure 48
  • Java 5 utilise la version majeure 49
  • La version 6 de Java utilise la version majeure de 50
  • Java 7 utilise une version majeure 51
  • Java 8 utilise la version majeure 52

15voto

Sean Reilly Points 9869

BTW, la raison que vous rencontrez des problèmes est que le compilateur java reconnaît deux drapeaux de version. On - source 1.5, qui suppose que le code source niveau java 1.5 et - objectif 1.5, qui émet des fichiers de classe compatible java 1.5. Vous voudrez probablement utiliser à la fois de ces commutateurs, mais vous avez besoin - certainement cibler 1,5 ; essayez de double vérification qui éclipse fait la bonne chose.

7voto

Gwyn Evans Points 532

Outil gratuit de JarCheck ici

5voto

marekdef Points 347

Vous pouvez essayer jclasslib :

https://github.com/ingokegel/jclasslib

C’est bien qu’il peut s’associer avec extension *.class.

3voto

Alex Martelli Points 330805

Fait la du pavillon à votre commande donnent des infos utiles ? Si non, peut-être `` révèle quelque chose de spécifique à votre version qui pourrait aider ?

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