Hace poco tuve un pequeño problema con un código que nos enviaron ya compilado. A la hora de hacer deployment en el servidor obteníamos una excepción de tipo:
javax.servlet.ServletException: Bad version number in .class file
Según lo que leí la excepción se da porque la clase fue compilada con una versión más alta de Java que la que corre en la máquina virtual. Por ejemplo que la clase fue compilada en Java 6 y la máquina virtual corre Java 5.
Para confirmar esto indague un poco en Google como averiguar la versión de una clase. Para ello existe un comando: javap -verbose ClassName
(El .exe se puede encontrar en la carpeta bin del JDK)
Es conveniente guardar en un archivo el resultado del comando pues tira bastante información. Dentro de esa información hay que buscar la combinación de minor y major version que se encuentra al puro comienzo para determinar la versión de Java utilizada.
major minor Java platform version 45 3 1.0 45 3 1.1 46 0 1.2 47 0 1.3 48 0 1.4 49 0 1.5 50 0 1.6
No hay comentarios:
Publicar un comentario