unsupportedclassversionerror unsupported thread minor major jre jdk jasperreports java unsupported-class-version

java - thread - unsupported major.minor version 51.0 maven



java.lang.UnsupportedClassVersionError (4)

Esta pregunta ya tiene una respuesta aquí:

Cuando ejecuté un programa java recibí este error ... ¿Podría sugerirnos por qué recibimos este error?

Exception in thread "main" java.lang.UnsupportedClassVersionError: GenerateInvoice (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) at java.net.URLClassLoader.access$100(URLClassLoader.java:55) at java.net.URLClassLoader$1.run(URLClassLoader.java:194) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)


El código fue probablemente compilado con un JDK posterior (sin usar opciones de compilación cruzada ) y se está ejecutando en un JRE anterior. Si bien la actualización de JRE es una solución, sería mejor utilizar las opciones de compilación cruzada para garantizar que el código se ejecute en cualquier JRE que se pretenda como la versión mínima para la aplicación.


Esta clase fue compilada con un JDK más reciente que el utilizado para la ejecución.

Lo más fácil es instalar un JRE más reciente en la computadora donde ejecutas el programa. Si cree que instaló uno reciente, verifique las variables de entorno JAVA_HOME y PATH.

La versión 49 es java 1.5. Eso significa que la clase se compiló con (o para) un JDK que aún es antiguo. Probablemente intentó ejecutar la clase con JDK 1.4. Deberías usar uno más reciente (1.6 o 1.7, ver el historial de versiones de Java ).


Otra opción es eliminar todas las clases y reconstruir. Tener el archivo de compilación es una solución ideal para controlar todo el proceso como la compilación, el empaquetado y la implementación. También puede especificar versiones de origen / destino


Esta era una nueva máquina de Linux Mint Xfce.

He estado luchando contra esto durante aproximadamente una semana. Estoy tratando de aprender Java en el IDE de Netbeans y naturalmente obtengo el archivo combinado directamente de Oracle. Que es un paquete del JDK y el IDE de Netbeans juntos en un archivo tar que se encuentra aquí.

ubicado en http://www.oracle.com/technetwork/java/javase/downloads/index.html nombre del archivo JDK 8u25 con NetBeans 8.0.1

después de instalarlos (o eso pensé) crearía / compilaría un programa simple como "hola mundo" y eso escupiría un archivo jar que podría ejecutar en un terminal. Tenga en cuenta que el programa se ejecutó en el IDE de Netbeans.

Me gustaría terminar con este error: java.lang.UnsupportedClassVersionError:

Aunque ejecuté el archivo del sitio web de Oracle, todavía tenía la versión antigua del tiempo de ejecución de Java que no era compatible para ejecutar mi archivo jar que se compiló con el nuevo tiempo de ejecución de Java.

Después de jugar con cosas que estaban sobre mi cabeza desde configurar Paths hasta editar .bashrc sin remedio.

Encontré una solución que fue lo suficientemente fácil incluso para mí. Me he encontrado con algo que instala automáticamente java y lo configura en su sistema y funciona con el último 1.8. *

Uno de los pasos es agregar un PPA no estaba seguro de esto al principio, pero me parece bien, ya que me ha funcionado.

sudo add-apt-repository ppa: webupd8team / java

sudo apt-get update

sudo apt-get install oracle-java8-installer

domenic @ domenic-AO532h ~ $ java -version versión java "1.8.0_25" Java (TM) SE Runtime Environment (compilación 1.8.0_25-b17) Java HotSpot (TM) Servidor VM (compilación 25.25-b02, modo mixto)

Creo que también configura el navegador Java también.

Espero que esto ayude a otros.