Recibo este error cuando incluyo una biblioteca de código abierto que tuve que compilar desde el origen. Ahora, todas las sugerencias en la web indican que el código se compiló en una versión y se ejecutó en otra versión (nuevo en antiguo). Sin embargo, solo tengo una versión de JRE en mi sistema. Si ejecuto los comandos:
$ javac -version
javac 1.5.0_18
$ java -version
java version "1.5.0_18"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_18-b02)
Java HotSpot(TM) Server VM (build 1.5.0_18-b02, mixed mode)
y compruebo en Eclipse las propiedades de la biblioteca de Java, obtengo 1.5.0_18
Por lo tanto, tengo que concluir que algo más, interno de una clase en sí misma, es lanzar la excepción. ¿Es eso posible?
Respuestas:
Aprendí que los mensajes de error como este suelen ser correctos. Cuando POSIBLEMENTE (en su opinión) no puede ser lo que dice el error que se informa, busca un problema en otra área ... solo para descubrir horas después que el mensaje de error original era correcto.
Dado que está utilizando Eclipse, creo que Thilo tiene razón. La razón más probable por la que recibe este mensaje es porque uno de sus proyectos está compilando 1.6 clases. No importa si solo tiene un 1.5 JRE en el sistema, porque Eclipse tiene su propio compilador (no javac), y solo necesita un 1.5 JRE para compilar 1.6 clases. Puede ser extraño, y una configuración debe estar desmarcada para permitir esto, pero solo logré hacerlo.
Para el proyecto en cuestión, verifique las Propiedades del proyecto (generalmente Alt + Intro), sección Compilador Java. Aquí hay una imagen de un proyecto configurado para compilar 1.6, pero con solo un 1.5 JRE.
fuente
¿Has intentado hacer una "limpieza" completa y luego reconstruir en Eclipse (Proyecto-> Limpiar ...)?
¿Eres capaz de compilar y ejecutar con "javac" y "java" directamente desde la línea de comandos? ¿Eso funciona correctamente?
Si hace clic con el botón derecho en su proyecto, vaya a "Propiedades" y luego a "Java Build Path", ¿hay alguna entrada sospechosa debajo de alguna de las pestañas? Este es esencialmente tu CLASSPATH.
En las preferencias de Eclipse, también puede verificar la sección "JRE instalados" en la sección "Java" y asegurarse de que coincida con lo que cree que debería.
Definitivamente tiene un archivo .class obsoleto en algún lugar o está obteniendo una falta de coincidencia en tiempo de compilación / tiempo de ejecución en las versiones de Java que está utilizando.
fuente
¿Compiló con Eclipse? Utiliza un compilador diferente (no javac). Eso no debería dar lugar a este error (si todo está configurado correctamente), pero puede intentar compilarlo con javac.
Si eso solucionó el problema, intente ver si Eclipse tiene alguna configuración incorrecta del compilador. Específicamente, apunte a Java 5.
fuente
También recibí el mismo error. Razón por la que estaba compilando el proyecto usando Maven. Tenía JAVA_HOME apuntando a JDK7 y, por lo tanto, java 1.7 se estaba utilizando para la compilación y al ejecutar el proyecto estaba usando JDK1.5. Cambiar la entrada a continuación en el archivo .classpath o cambiar en el eclipse como en la captura de pantalla resolvió el problema.
o cambiar en la configuración de ejecución de eclipse como
fuente
También verifique cualquier archivo jar en su proyecto que haya sido compilado para una versión superior de Java. Si estas son sus propias bibliotecas, puede solucionar esto cambiando el atributo de la versión de destino a javac
fuente
Otro escenario en el que esto podría suceder es cuando está iniciando una instancia de eclipse (para depuración, etc.) desde un eclipse de host, en cuyo caso, alterar el nivel del proyecto o la biblioteca JRE en el classpath del proyecto solo no ayuda. Lo que importa es el JRE utilizado para lanzar el entorno de eclipse de destino.
fuente
Siempre revise lo obvio también. Recibí este error una vez cuando accidentalmente tomé el recurso incorrecto para la acción de agregar y quitar del servidor. Puede ser fácil pasarlo por alto.
fuente
También eliminará los archivos de configuración específicos del proyecto (Eclipse workspace / project folder / .settings /) de la carpeta del proyecto. Obviamente, necesitamos limpiar y construir un proyecto después de eliminarlo.
fuente
cambiando el proyecto para usar java 1.7: para que esto funcione, siga estos pasos:
¿No funciona?
¿Sigue sin funcionar?
en el directorio de su proyecto: edite .settings / org.eclipse.jdt.core.prefs> asegúrese de que se aplica su nivel objetivo
¡Buena suerte!
fuente
Resolví este problema cambiando jre requerido para el servidor (en mi caso es tomcat). Desde la pestaña Servidor en eclipse, haga doble clic en el servidor (para abrir la página para la configuración del servidor), haga clic en Entorno de tiempo de ejecución, luego cambie JRE requerido
fuente