web-dev-qa-db-fra.com

UnsupportedClassVersionError non pris en charge major.minor version 51.0 incapable de charger la classe

Dupliquer possible:
Exception dans le fil «principal» Java.lang.UnsupportedClassVersionError: a (Annuler le support de major.minor version 51.0)

j'ai développé une application Web en Java en utilisant jdk 1.7.0, Eclipse IDE (Indigo) et je l'exécute sur le Tomcat (Apache-Tomcat-7.0.23) configuré dans Eclipse ide. 

Lorsque j'ai essayé d'exécuter mon application via IDE, tout s'est bien déroulé, mais lorsque j'ai créé sa guerre et que je l'ai placée dans le dossier de déploiement Apache (webapps) et que je l'exécute depuis l'extérieur de IDE, la page de démarrage est chargée mais quand j'ai essayé de faire une opération dessus, ça me donne une erreur

UnsupportedClassVersionError unsupported major.minor version 51.0 unable to load class bean.myclassname

j'ai vérifié la version de Java en dehors de son ide jdk 1.7.0 et la variable d'environnement Java_HOME est définie sur C:\Program Files\Java\jdk1.7.0_01.

31
Nishit Jain

Eh bien, vraisemblablement, il n’utilise pas la même version de Java lorsqu’il est exécuté en externe. Parcourez les scripts de démarrage avec soin pour trouver où il prend la version de Java à exécuter. Vous devez également vérifier les journaux de démarrage pour voir s'ils indiquent quelle version est en cours d'exécution.

Sinon, à moins que vous besoin les fonctionnalités de Java 7, vous puissiez toujours modifier vos préférences de compilateur dans Eclipse pour cibler la version 1.6 à la place.

34
Jon Skeet

Même si votre JDK dans Eclipse est 1.7, vous devez vous assurer que le niveau de compilance Eclipse est également défini sur 1.7. Vous pouvez vérifier le niveau de compilance -> Fenêtre -> Préférences -> Java - Compilateur - niveau de compilance.

Une erreur mineure mineure non prise en charge se produit dans les cas où le niveau de compilance ne correspond pas à l'exécution.

16
kosa

La variable d'environnement Java_home doit pointer vers l'emplacement de la version appropriée du répertoire d'installation Java, afin que Tomcat démarre avec la bonne version. Par exemple, si vous avez construit le projet avec Java 1.7, assurez-vous que la variable d'environnement Java_HOME pointe vers le répertoire d'installation de jdk 1.7 sur votre machine.

J'ai eu le même problème, quand je déploie la guerre dans Tomcat et que je cours, le lien jette l'erreur. Mais le fait de pointer la variable - Java_HOME sur jdk 1.7 a résolu le problème, mon fichier war étant construit dans l’environnement Java 1.7.

2

Essayez d’ajouter ce qui suit à votre fichier Eclipse.ini:

-vm
C:\Program Files\Java\jdk1.7.0_01\bin\Java.exe

Vous devrez peut-être également modifier Dosgi.requiredJavaVersion en 1.7 dans le même fichier.

0
Justin Buser