Translate

domingo, 14 de septiembre de 2014

Corrección de error en Java java.lang.UnsupportedClassVersionError

Introducción 


Puede suceder que cuando alguien nos comparta un código nos encontremos con un error similar a este:
java.lang.UnsupportedClassVersionError: GUI/VentanaAdministracion : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at ... etc etc

Solución 

Si el código es un proyecto de Netbeans, la solución será simple,  seleccionar nuestro proyecto, darle click derecho y propiedades.
En la opción Sources bajamos la versión de JDK con la que se compilará. Para este caso, la versión 51 es el JDK 7.


Si no se cuenta con netbeans, y tras borrar los archivos .class e intentar compilar de nuevo sale el mismo error,  se deberá ajustar el script ANT con el que se compila, o descargar la versión más reciente del Java Developer Kit

Explicación

El código nos marca ese error porque la persona que lo hizo tenía un compilador en una versión más reciente a la nuestra. Posiblemente habrá errores de código, como por ejemplo en el caso presentado los milticatch marcaban error porque son una característica del JDK 7.

1 comentario: