2012-01-19 32 views
5

me escribió aplicación no es tan simple, y decidió hacer applet. Tengo el archivo .jar y la clase principal es chat.java (contiene init() y se extiende JApplet). Tengo este código en un archivo HTML:Java - java.lang.UnsupportedClassVersionError en el applet

<applet code="chat.class" archive="chat.jar" width="150" height="150"> 
Error! 
</applet> 

y da error

java.lang.UnsupportedClassVersionError: chat : Unsupported major.minor version 51.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(Unknown Source) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.defineClassHelper(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.access$100(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source) 
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Exception: java.lang.UnsupportedClassVersionError: chat : Unsupported major.minor version 51.0 

en la consola de Java. No sé qué hacer, mi applet debería abrir un nuevo Frame (ventana emergente) donde puede chatear, etc. ¡Gracias por cualquier respuesta!

+0

¿Puedes verificar que tus versiones de java sean las mismas en las que compilaste el contenedor? – mezzie

+0

* "mi applet debería abrir un nuevo Frame (popup) donde puede chatear, etc." * Deshágase del applet por completo y abra el frame desde un enlace usando [Java Web Start] (http://stackoverflow.com/ etiquetas/applet/info). Es más fácil implementar un applet y una mejor experiencia para el usuario. –

Respuesta

11

tiene la versión incompatible del archivo de clase y el plugin de Java. Por ejemplo, compila su código en java7 y trata de ejecutar en java5 o java6.

La versión no compatible mayor.menor 51,0 significa que se haya compilado su código en JDK7, y el plugin para el navegador i JRE 6 años o más y no lo entiende.

En tal situación que tiene que hacer uno de:

  • actualización de su plugin de Java (o cambiar a la versión adecuada si tiene más), o
  • compilar el applet de Java mayores usando '- objetivo 'opción.

Para verificar su versión java, vaya a la página plugin test.

+0

Tengo las dos versiones más nuevas. No sé qué hacer ... ¿Estoy usando eclipse, cómo cambiar la versión de destino? –

+2

@kittyPL: puede cambiar en las propiedades de su proyecto -> "Compilador de Java" -> "Nivel de cumplimiento del compilador". –

+0

funcionó muy bien con 1.5 !!! Gracias! votaría si pudiera: D –

1

Esa excepción significa que se ha compilado sus clases bajo un JDK específica, pero luego intenta ejecutar bajo versión anterior del JDK. Por lo tanto, no puede ejecutar clases compiladas con JDK 6.0 bajo JDK 5.0. Compruebe la versión de su navegador JRE. También puede especificar un JDK objetivo al compilar sus clases.

Cuestiones relacionadas