2012-09-08 23 views
8

Recientemente soy el problema con Apache Tomcat 6.0.35 en Linux Centos. estoy consiguiendo el error -java.lang.UnsupportedClassVersionError: myApp: versión major.minor no soportada 51.0 (no se puede cargar la clase myApp) en Linux

java.lang.UnsupportedClassVersionError: myApp : Unsupported major.minor version 51.0 (unable to load class myApp) 

Cuando dé la orden -

java -version 

Muestra

java version "1.6.0_22" 
OpenJDK Runtime Environment (IcedTea6 1.10.9) (rhel-1.28.1.10.9.el5_8-x86_64) 
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) 

Del mismo modo Cuando dé la orden -

javac -version 

Muestra -

javac 1.6.0_22 

Para localizar el Java Doy el comando -

whereis java 

La salida es -

java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /usr/share/man/man1/java.1.gz 

Y para

which java 

Muestra -

/usr/bin/java 

También para

which javac 

salida es

/usr/bin/javac 

Dónde myApp es proyecto Java desarrollado en Windows y subido el archivo WAR en el directorio webapp Tomcat en Linux.

No obtengo lo que está pasando? Por favor, ¿alguien puede ayudarme a resolver el problema?

Gracias de antemano.

Respuesta

6

Necesita Java 7 runtime, no Java 6. Consulte http://en.wikipedia.org/wiki/Java_class_file#General_layout para obtener más información al respecto.

Como alternativa, es necesario encontrar y/o volver a compilar el código para que sea compatible con Java 6.

+0

Gracias ziesemer para una respuesta rápida. ¿Cómo debería hacer la misma versión tanto para la compilación como para el entorno de ejecución? – Deepu

+0

Necesitaríamos muchos más detalles para exactamente lo que estás buscando hacer.Suponiendo que "myApp" es algo que usted escribió y compiló, asegúrese de estar haciendo esto con un JDK Java 6 en lugar de un Java 7 JDK - * o * asegúrese de que haya un tiempo de ejecución Java 7 disponible en el servidor donde espera ejecuta esto. Si desea mantener las cosas muy simples, use el mismo JDK para compilar el código con el que espera ejecutarlo. – ziesemer

+0

Hola ziesemer, myApp es un proyecto java desarrollado en Windows y cargado el archivo WAR en Linux (Consulte mi pregunta actualizada) – Deepu

1

Parece que el código se compila con JDK7?

+0

Hola Peter, no sé exactamente. – Deepu

3

La excepción se debe a que su código se compila utilizando una versión superior a la que está tratando de ejecutar. En tu máquina de Windows, puedes estar usando Windows 7 para construir la guerra. Compruebe javac -version en su máquina de Windows.

+0

Ya basiljames es cierto, ahora voy a cambiar mi Java en Windows. – Deepu

Cuestiones relacionadas