unsupportedclassversionerror unsupported thread minor major jasperreports jasper java exception java-7 unsupported-class-version

java - thread - unsupported major.minor version 51.0 maven



Excepción en el hilo "principal" java.lang.UnsupportedClassVersionError: a(Versión no compatible major.minor 51.0) (5)

Copie los contenidos de las configuraciones de PATH en un bloc de notas y verifique si la ubicación del 1.4.2 es anterior a la del 7. Si es así, elimine la ruta a 1.4.2 en la configuración PATH y guárdela.

Después de guardar y aplicar "Variables de entorno", cierre y vuelva a abrir la línea de cmd. En XP, la ruta no se refleja en los programas que ya están en ejecución.

Posible duplicado:
versión .minor principal no compatible 51.0

Instalé JDK7, se compila un sencillo programa de palabras hello, pero cuando ejecuto esto obtengo la siguiente excepción.

Exception in thread "main" java.lang.UnsupportedClassVersionError: a (Unsupported major.minor version 51.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source)

Comprobé java -version en el símbolo del sistema, muestra la versión de Java 1.4.2_03 pero cuando traté de instalar una nueva versión de Java desde java.com, dice que estoy recomendando la versión de Java 7.


Parece que necesitas cambiar la ruta del ejecutable de tu java para que coincida con la versión más nueva. Básicamente, la instalación de la última versión de Java no necesariamente significa que su máquina está configurada para usar la última versión. No mencionó ningún detalle de la plataforma, así que eso es todo lo que puedo decir.


Pruebe sudo update-alternatives --config java desde la línea de comandos para establecer la versión del JRE que desea usar. Esto debería arreglarlo.


Suponiendo que está utilizando Eclipse, en un MAC puede:

  1. Inicie Eclipse.app
  2. Elija Eclipse -> Preferences
  3. Elija Java -> Installed JREs
  4. Haga clic en el botón Add...
  5. Elija MacOS X VM como el tipo JRE. Presiona Siguiente.
  6. En el campo "JRE Home:", escriba /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
  7. Debería ver las bibliotecas del sistema en la lista titulada "Bibliotecas del sistema JRE:"
  8. Dale un nombre al JRE. El nombre recomendado es JDK 1.7 . Haga clic en Finalizar.
  9. Marque la casilla de verificación junto a la entrada de JRE que acaba de crear. Esto hará que Eclipse lo use como el JRE predeterminado para todos los nuevos proyectos de Java. Haga clic en Aceptar.
  10. Ahora, crea un nuevo proyecto. Para esta verificación, desde el menú, seleccione File -> New -> Java Project .
  11. En el cuadro de diálogo que aparece, ingrese un nuevo nombre para su proyecto. Para esta verificación, escriba Test17Project
  12. En la sección JRE del diálogo, seleccione Use default JRE (currently JDK 1.7)
  13. Haga clic en Finalizar.

Espero que esto ayude


Tuve este problema después de instalar jdk7 junto a Java 6. Los binarios se actualizaron correctamente utilizando update-alternatives --config java to jdk7, pero la variable de entorno $JAVA_HOME aún apuntaba al directorio anterior de Java 6.