versiones verificar descargar borrar anteriores java eclipse backwards-compatibility

verificar - ¿Cómo convierto mi proyecto Eclipse a una versión anterior de Java?



java versiones anteriores (5)

Tengo un proyecto en Eclipse que anteriormente usaba JRE7 y hacía referencia a las bibliotecas del sistema JRE7. Absolutamente lo necesito para correr ahora en JRE6. No he usado ninguna sintaxis específica de Java 7, por lo que el código fuente es totalmente compatible. Esto es lo que ya he hecho:

  • Instalé JDK6.
  • Luego fui a Ventana> Preferencias> Java> JRE instalados y configuré JRE6 como predeterminado.
  • Configuré la ruta de compilación de mi proyecto para hacer referencia a la biblioteca del sistema JRE6 y no a la JRE7.
  • Finalmente, fui a Ejecutar configuraciones> JRE y lo configuré para ejecutarse en JRE6.

Inmediatamente después de ese último paso, la parte superior del diálogo muestra un mensaje que dice:

JRE no es compatible con la compatibilidad de archivos de proyecto .class: 1.7

Y cuando ejecuto el proyecto recibo este mensaje de error:

java.lang.UnsupportedClassVersionError: ExampleProcessingApp : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:634) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) at java.net.URLClassLoader.access$000(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:212) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:314) at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:146) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:608) at sun.applet.AppletPanel.createApplet(AppletPanel.java:798) at sun.applet.AppletPanel.runLoader(AppletPanel.java:727) at sun.applet.AppletPanel.run(AppletPanel.java:380) at java.lang.Thread.run(Thread.java:679)

Como mencioné anteriormente, el código real del proyecto no es diferente de la sintaxis de Java 6, por lo que se ejecutaría en JRE6. Entonces presumiblemente necesito recompilar de alguna manera todos los archivos .class del código fuente. Pensé que Eclipse haría esto automáticamente. ¿Algunas ideas?


Pensé que Eclipse haría esto automáticamente. ¿Algunas ideas?

No Eclipse no limpia todos los proyectos hasta que usted lo solicite. Solo limpia los archivos de clase generados de las fuentes que ha modificado. Debería hacer una compilación limpia de su solución, reconstruir todo y ejecutar nuevamente, debería funcionar bien.


El segundo método proporcionado por Colin funcionó para mí.

Aquí hay una representación visual de todos los pasos para ese enfoque:


Gracias a todos. Aunque está resuelto, me gustaría agregar otra forma de hacerlo para agregar otro sabor.

Se puede hacer editando manualmente las preferencias del proyecto en el archivo directorio_proyecto / .settings / org.eclipse.jdt.core.prefs y luego actualizando el proyecto en eclipse.


He dirigido un caso donde la limpieza del proyecto no resolvió el problema. De hecho, tuve que cerrar y volver a abrir el proyecto específico para que funcione.


Primero, limpia tu proyecto:

Proyecto> Limpiar

Si eso no arregla las cosas ...

En segundo lugar compruebe su compilador de Java específico del proyecto:

Proyecto> Propiedades> Compilador Java