Pregunta

Estoy tratando de ejecutar esto ejemploPero me está dando un "número de versión malo en el archivo .class ..." Error. Estoy usando JDK versión 1.6 y el ejemplo pide usar JDK 1.5. Java debe admitir la compatibilidad descendente. ¿Cómo puedo ejecutar el ejemplo con JDK 1.6?

¿Fue útil?

Solución

Aquí hay una trampa sutil en la que se caen muchas personas nuevas. A veces, a menudo, en realidad, puede tener una copia de java.exe Desde un JDK más antiguo instalado en su máquina, que aparece temprano en su camino, que no conoce. Puedes entrar en la situación en la que compila clases con tu nuevo compilador JDK 1.6 brillante, y luego tratar de ejecutarlas con el viejo java.exe, y obtenga el error mencionado aquí. Si ese viejo java.exeLa ubicación es anterior en su camino que el JDK bin dir, luego encontrará el compilador desde la línea de comando, pero no la versión correcta de java.exe sí mismo.

El extra java.exe A menudo fue instalado por un instalador antiguo para el complemento Java, lo que le permite ejecutar applets en su navegador web. El pícaro java.exe es probable en tu WINDOWS Directorio, o alguna variante (este es un problema peculiarmente centrado en Windows).

Si ha instalado JDK 1.6, incluido el complemento Java, simplemente puede eliminar la copia de java.exe En su directorio de Windows. Si no quieres hacer eso, debes cambiar tu camino para que los JDK bin El directorio es antes WINDOWS.

Otros consejos

Un error "Número de versión incorrecta en el archivo .class ..." se produce cuando intenta ejecutar un archivo de clase con un nuevo número de versión en un JVM anterior. (E incluso entonces, no en todos los casos)

Ejecutar un archivo de clase con un número de versión anterior en un JVM más nuevo debería funcionar.


Puede verificar el número de versión de un archivo de clase usando javap -v <full-class-name>. Las versiones son:

major    minor       Java
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

y yo pienso ...

51       0           1.7
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top