01 agosto 2013

java.lang.UnsupportedClassVersionError: Bad version number in .class file

¡Buenos días caballeros(y caballeras) del programar!

Tengo en mente un cerro de Snippets para poner por aquí, lo único malo es que no dispongo del tiempo suficiente para hacerlo, pero voy a poner aquí algo que asusta más que lo que se tarda en corregir:

java.lang.UnsupportedClassVersionError: Bad version number in .class file

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)

Cuando vas a ejecutar un main() en Eclipse (bueno, en Java) y te salta esto sin venir a cuento, acompañado de una ventanita flotante que te dice:

Could not find the main class. Program will exit.

Esto es causa de que tengas una versión compilada con una máquina virtual Java distinta con la que estás ejecutando. Es decir, mi Eclipse le ha dado por ponerme como JRE la 1.5 por defecto cuando en todos los proyectos uso la 1.7 para compilar y ejecutar.


Curse you Eclipse!

Así que se soluciona tan rápidamente como poniendo de acuerdo la versión de Java de compilación con la de ejecución.

Hasta otra!

No hay comentarios:

Publicar un comentario