El mensaje de error ya contiene la respuesta: si ahí pone class file version 65.0, el archivo requiere Java 21. El cálculo siempre es el mismo: número menos 44 da la versión de Java. Pero más importante que el número es la pregunta de qué archivo se menciona: en la mayoría de los casos no es que el servidor sea demasiado antiguo, sino que un plugin concreto es demasiado nuevo.
Leer el mensaje
Una línea típica se ve así:
java.lang.UnsupportedClassVersionError: com/example/PluginMain has been compiled by a more
recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime
only recognizes class file versions up to 61.0
Ahí hay tres datos:
com/example/PluginMain— quién causa el error. Si aquí aparece el nombre de un plugin o mod, significa que ese archivo concreto no encaja; el servidor en sí está bien.class file version 65.0— qué se requiere: 65 − 44 = Java 21.only recognizes … up to 61.0— qué está en ejecución: 61 − 44 = Java 17.
Traducido: hay un plugin creado para Java 21 en un servidor que funciona con Java 17.
Tabla de conversión
| class file version | Versión de Java |
|---|---|
| 52.0 | Java 8 |
| 55.0 | Java 11 |
| 60.0 | Java 16 |
| 61.0 | Java 17 |
| 65.0 | Java 21 |
| 69.0 | Java 25 |
Los números vienen de la especificación oficial de la JVM. La diferencia de 44 es constante desde Java 1.0, así que puedes calcular tú mismo cualquier versión futura sin ampliar la tabla.
Recuerda: un runtime de Java siempre entiende todas las versiones de archivos de clase anteriores, pero nunca una más nueva. Por eso un plugin de Java 8 funciona sin problema en Java 21, pero al revés nunca.
¿Qué versión de Java necesita cada versión de Minecraft?
| Versión de Minecraft | Java necesario |
|---|---|
| hasta 1.16.5 | Java 8 |
| 1.17 – 1.17.1 | Java 16 (en la práctica Java 17) |
| 1.18 – 1.20.4 | Java 17 |
| desde 1.20.5 | Java 21 |
| desde 26.0 | Java 25 |
Con nosotros no tienes que configurar eso. Derivamos el runtime a partir de la versión de Minecraft de tu servidor y lo aplicamos automáticamente. Si pides 1.21, recibes Java 21 sin tener que buscar ningún interruptor.
Para forks de servidor como Leaf y Leaves mantenemos además una asignación exacta por release, en vez de adoptar la regla general. El motivo: un fork puede desviarse del requisito de Vanilla, y una suposición optimista fallaría justo cuando importa. Si no encontramos un Java adecuado para una combinación, cancelamos el proceso de forma deliberada en vez de iniciar un runtime demasiado bajo: un servidor que ni siquiera arranca mal es más fácil de reparar que uno que funciona a medias.
El caso más frecuente: un plugin, no el servidor
Si tu servidor funcionaba hasta hace un momento y el error apareció después de añadir un archivo, la situación está clara. Procedimiento:
- Anota el nombre de la clase del mensaje. Casi siempre menciona el proyecto.
- Busca en el proveedor la variante de build adecuada. Muchos plugins ofrecen descargas separadas para Java 17 y Java 21, a menudo con el añadido
-java17o como rama de release propia. El archivo más nuevo no es automáticamente el correcto. - Si no existe una variante adecuada, necesitas una versión de Minecraft más nueva, porque solo esa trae el runtime más reciente. En Cambiar la versión del servidor de Minecraft explicamos cómo cambiar la versión sin perder el mundo.
- Quita el plugin por ahora si el servidor tiene que volver a funcionar urgentemente. Instalar mods y plugins de Minecraft muestra cómo añadir y quitar plugins correctamente.
El otro caso: Java es demasiado nuevo
Este caso se explica pocas veces, pero aparece con regularidad. Los modpacks antiguos de Forge, el clásico es 1.12.2, están creados para Java 8. Con Java 21 fallan, aunque normalmente no con UnsupportedClassVersionError, sino con mensajes sobre clases internas que faltan o parámetros de inicio rechazados.
Señal típica: el pack funcionaba antes, o funciona a otros, y tu servidor menciona una versión muy antigua de Minecraft. Entonces la solución no es un Java más nuevo, sino elegir en el panel la versión de Minecraft correspondiente al pack, para que apliquemos el runtime antiguo adecuado.
Aviso honesto: nuestra corrección automática no actúa en este caso. Solo repara en la dirección de “demasiado antiguo”, es decir, cuando el servidor necesita un Java más nuevo que el que está en ejecución. Un Java demasiado nuevo no se considera drift de forma deliberada; de lo contrario, un cliente que ha elegido intencionadamente un runtime antiguo lo volvería a perder automáticamente.
Qué asumimos automáticamente
- Runtime adecuado desde el pedido. La versión de Java sigue a la versión de Minecraft, sin configuración.
- Corrección al cambiar de versión. Si cambias a una versión con mayor requisito de Java, el runtime se actualiza con ella.
- El boot log gana al cálculo. Si tu servidor indica por sí mismo al arrancar una versión de Java necesaria superior a la actual, corregimos según esa medición, no según la deducción de la versión pedida. Una declaración del servidor sobre sí mismo pesa más que cualquier tabla.
- Las imágenes propias no se tocan. Si tu servidor funciona con un runtime elegido por ti, no intervenimos.
- Fail-closed en vez de medio correcto. Si no existe un Java adecuado para una combinación, cancelamos e informamos, en vez de iniciar un runtime incorrecto.
Solución de problemas
| Síntoma | Comprobación | Solución |
|---|---|---|
Se menciona class file version 65.0, el nombre de clase es un plugin |
¿Funcionaba el servidor antes de añadirlo? | Descarga el build del plugin para tu versión de MC |
| Error directamente al iniciar el servidor, no se menciona ningún plugin | ¿Qué versión de Minecraft está en ejecución? | Alinea versión y runtime |
| Un modpack antiguo 1.12.2 no arranca | ¿El log menciona clases internas que faltan? | Java es demasiado nuevo: elige la versión de MC adecuada |
| Error después de cambiar de versión | ¿Apareció justo después del cambio? | Espera al reinicio; si persiste, contacta con soporte con la línea completa |
| El plugin carga, pero faltan funciones | ¿En el log aparece una advertencia en vez de un error? | Otra causa: no es la versión de Java |
FAQ
¿Puedo cambiar yo mismo la versión de Java?
Con nosotros no hace falta: se deriva de la versión de Minecraft de tu servidor. Si necesitas otro runtime, el camino correcto es cambiar la versión de Minecraft; así todo el entorno encaja.
¿Java más nuevo siempre es mejor?
No. Para Minecraft, la versión requerida también es un límite superior práctico: el núcleo del servidor, los mods y los plugins están ajustados a ella. Saltar a un runtime superior “por si acaso” no aporta ventaja y rompe mods antiguos.
¿Por qué mi plugin funciona en local, pero no en el servidor?
Porque tu instalación local de Java puede ser más nueva que la del servidor. Lo decisivo es el runtime del servidor, no el de tu ordenador.
¿Cómo sé con qué Java está funcionando ahora mi servidor?
El mensaje te lo dice: only recognizes class file versions up to 61.0 significa Java 17. Sin mensaje de error, el arranque del servidor indica la versión de Java en las primeras líneas de la consola.
¿Tengo que crear de nuevo mi mundo después de cambiar Java?
No. El runtime solo afecta a la ejecución, no al formato del mundo. En cambio, cambiar la versión de Minecraft sí puede modificar el formato del mundo; haz antes una copia de seguridad.
Próximos pasos
Si el servidor vuelve a funcionar pero va lento, El servidor de Minecraft tiene lag: solucionar el timeout del Watchdog te ayuda a seguir. Si la memoria RAM no encaja con el tamaño del modpack, la Calculadora de RAM para Minecraft calcula lo necesario.
¿Buscas un servidor donde la versión de Java se adapte automáticamente a la versión del juego? En Alquilar un servidor de Minecraft encontrarás los planes.
Fuentes y banco de pruebas
- Requisitos de Java por versión de Minecraft: Minecraft Wiki — Server/Requirements. Indica expresamente Java 16 desde 1.17, Java 17 desde 1.18 y Java 21 desde 1.20.5.
- Asignación de las versiones class-file: Oracle — The Java Virtual Machine Specification, Java SE 21, Tabla 4.1-A. Demuestra 52 = Java 8, 55 = Java 11, 60 = Java 16, 61 = Java 17, 65 = Java 21, así como la regla de que una JVM solo admite las versiones listadas y ninguna superior.
- Java 25: Oracle — The Java Virtual Machine Specification, Java SE 25, Tabla 4.1-A. Demuestra Major 69.
Banco de pruebas: 24 de agosto de 2026. Las nuevas versiones de Minecraft pueden traer nuevos requisitos de Java; las fuentes enlazadas reflejan el estado actual correspondiente.