Cuando comienzas a aprender Java, la primera barrera que enfrentarás es la “compilación”. Simplemente escribir código fuente (.java) no ejecutará nada — debes compilarlo usando el comando javac para generar un archivo .class, y solo entonces el programa puede ejecutarse. En este artículo resumimos el procedimiento de compilación de Java, el uso básico de javac, la configuración de PATH y soluciones para errores comunes de principiantes — en un flujo que incluso un total novato puede seguir paso a paso. El objetivo es pasar de “¿Con qué empiezo para la compilación de Java?” a escribir comandos con confianza sin dudar.
- 1 ¿Qué es la compilación de Java?|Explicación amigable para principiantes de la “compilación”
- 2 Preparación necesaria antes de compilar Java
- 3 Vamos a Compilar un Archivo Java
- 4 Cómo Ejecutarlo Después de la Compilación
- 5 Errores Frecuentes y Cómo Solucionarlos
- 6 Compilación Usando un IDE
- 7 Fundamentos de las Opciones de javac
- 8 Resumen
- 9 FAQ: Preguntas Frecuentes Sobre la Compilación de Java
¿Qué es la compilación de Java?|Explicación amigable para principiantes de la “compilación”
En Java, la “compilación” es el proceso de convertir el código fuente escrito por humanos (.java) en un formato legible por la Máquina Virtual de Java (JVM).
El resultado es el archivo .class, llamado bytecode.
A diferencia de lenguajes como C que compilan directamente a código nativo, Java realiza un paso intermedio: el código fuente se convierte primero en bytecode y luego se ejecuta en la JVM.
Este mecanismo permite que el mismo archivo .class se ejecute en diferentes entornos de sistema operativo — lo que significa que puedes ejecutar el mismo programa Java en Windows, macOS o Linux.
Otro elemento crucial que debes comprender: compilar y ejecutar son acciones separadas.
- “javac” → se encarga de la compilación
- “java” → se encarga de la ejecución
La mayoría de los principiantes fallan porque esta distinción les resulta vaga. Aclarar estos “dos roles diferentes” se convierte en el primer paso más eficiente para tu comprensión.
Preparación necesaria antes de compilar Java
Para compilar Java, debes tener instalado el JDK (Java Development Kit).
El JRE por sí solo no puede compilar código porque la herramienta de compilación javac solo está incluida en el JDK.
Comienza verificando esto:
javac -version
Si este comando devuelve un número de versión, todo está bien.
Si obtienes “command not found” u otros errores similares, lo más probable es que sea una de las siguientes causas:
- El JDK no está instalado
- El JDK está instalado pero PATH no está configurado
- Solo tienes instalado el JRE (sin kit de desarrollo)
La configuración de PATH es especialmente donde los usuarios japoneses se quedan atascados.
Si el sistema operativo no reconoce la ruta hasta javac.exe (o el directorio /bin), la compilación no funcionará.
Conclusión:
“Prepara el JDK” y “Verifica PATH” — solo con estos dos en su lugar puedes estar en la línea de partida real de la compilación de Java.
Vamos a Compilar un Archivo Java
Aquí, crearemos un código de ejemplo y confirmaremos el procedimiento para compilarlo con javac.
Primero, guarda el siguiente contenido con un editor de texto.
Sample.java
public class Sample {
public static void main(String[] args) {
System.out.println("Hello Java!");
}
}
El nombre del archivo debe ser Sample.java, y el nombre de la clase pública debe coincidir con el nombre del archivo.
Si se rompe esta regla, la compilación fallará — esto es uno de los errores más comunes de los principiantes.
A continuación, ejecuta lo siguiente en la terminal / símbolo del sistema:
javac Sample.java
Si todo se ejecuta normalmente, se generará Sample.class en la misma carpeta.
Esto indica “compilación completada.”
Entonces, en este momento:
- Sample.java (fuente)
- Sample.class (bytecode)
Este par ya está listo.
En esta etapa, estás preparado para “ejecutar un programa Java.”
Cómo Ejecutarlo Después de la Compilación
Una vez que la compilación esté completa, el siguiente paso es ejecutar el archivo .class.
El comando utilizado aquí es java — no javac.
java Sample
Punto clave: no escribas la extensión .class.
Escribir java Sample.class provocará un error.
Java está diseñado para ejecutarse basándose en el nombre de la clase (sin extensión).
Resumen organizado:
| Role | Command | Target |
|---|---|---|
| Compile | javac Sample.java | .java file |
| Run | java Sample | Class name (without extension) |
Si entiendes el cambio de roles entre javac y java, has superado la etapa de principiante.
Si “¡Hola Java!” aparece correctamente, el proceso funcionó.
En este punto has comprendido el flujo mínimo de Java.
Errores Frecuentes y Cómo Solucionarlos
En la compilación de Java, encontrar errores al principio es absolutamente normal.
Aquí nos enfocamos únicamente en los errores que los principiantes japoneses suelen cometer.
1) javac: command not found / 'javac' is not recognized…
En casi el 100 % de los casos, la causa es una de las siguientes:
- El JDK no está instalado
- La variable PATH no está configurada
Solución:
Ejecuta javac -version para verificar
→ Si no aparece nada, reinstala el JDK y revisa la configuración de PATH.
2) La compilación tiene éxito pero no se genera ningún archivo .class
El problema más común entre los principiantes japoneses es este:
El nombre del archivo y el nombre de la clase pública no coinciden
Ejemplo — Si Sample.java contiene:
public class Test {
}
→ Esto provocará un error de compilación.
3) Advertencias relacionadas con la codificación de caracteres
warning: [options] bootstrap class path not set in conjunction with -source 1.7
Las advertencias como estas no son fatales en la mayoría de los casos.
Sin embargo, pueden indicar configuraciones de versión antigua o codificación incompatible.
Guardar los archivos en UTF‑8 es la opción más segura.
Compilación Usando un IDE
En el desarrollo real de Java, rara vez escribes javac manualmente en la terminal cada vez.
Esto se debe a que el IDE (Entorno de Desarrollo Integrado) gestiona la compilación automáticamente en segundo plano.
Los siguientes tres IDEs son extremadamente populares en Japón y también son prácticos para aprender:
| IDE | Characteristics |
|---|---|
| IntelliJ IDEA | The de-facto standard for modern Java development. Suitable for professional use. |
| Eclipse | Long history, widely used in enterprise projects. |
| VSCode | Lightweight. Java Extension Pack enables a proper Java environment. |
En los IDEs, la compilación ocurre automáticamente cada vez que guardas un archivo — y las ubicaciones de error se visualizan instantáneamente.
Esto significa que puedes evitar los obstáculos de principiante como “escribir mal javac” o “configuración incorrecta de PATH”.
Sin embargo, sigue siendo cierto que hay un gran valor en experimentar manualmente con javac al menos una vez para comprender cómo funciona Java.
Una vez que entiendas el flujo “compilar → ejecutar” a mano, tu velocidad de comprensión aumenta drásticamente al pasar al desarrollo basado en IDE.
Fundamentos de las Opciones de javac
javac no es solo “convertidor .java → .class”. Puedes adjuntar múltiples opciones para controlar el comportamiento de la compilación.
Pero en la etapa de principiante, no necesitas memorizar todo — conocer solo las opciones más comunes es suficiente.
Aquí tienes tres representativas:
| Option | Meaning | Example |
|---|---|---|
-d | Specify output directory for .class files | javac -d out Sample.java |
-classpath | Specify classpath for external libraries / other directories | javac -classpath lib/* Sample.java |
--enable-preview | Enable preview language features | javac --enable-preview Sample.java |
Especialmente -d es casi obligatorio cuando se usan paquetes.
Por ejemplo, si escribes package com.example;, debes usar javac -d para generar correctamente la estructura de directorios bajo el directorio de salida.
A medida que avanzas en el trabajo real, la especificación de classpath y el uso de -d aumentan drásticamente.
Simplemente estar consciente de estos nombres en esta etapa facilita el aprendizaje posterior.
Resumen
Para ejecutar programas Java, debes comprender la secuencia de 3 pasos: escribir el código fuente → compilar → ejecutar.
Especialmente si separas mentalmente los roles de javac (compilación) y java (ejecución), la razón “por qué la compilación es necesaria” de repente tiene sentido completo.
Además, los principiantes suelen atascarse en estos dos puntos:
- El JDK no está instalado / la variable PATH no está configurada
- El nombre del archivo y el nombre de la clase pública no son iguales
Si resuelves solo estos dos, evitarás grandes desvíos en la fase de aprendizaje.
Después de acostumbrarte a lo básico, pasar al desarrollo con IDE es totalmente aceptable.
Sin embargo, saber “cómo funciona el mecanismo interno” es lo que más tarde crea una diferencia en la velocidad de comprensión.
Utiliza este artículo como punto de partida y completa con éxito la conversión .java → .class una vez.
Ese es el primer hito de logro en el aprendizaje de Java.
FAQ: Preguntas Frecuentes Sobre la Compilación de Java
Q1: ¿Cuál es la diferencia entre javac y java?
A: javac es el comando para la compilación — convierte .java en .class.
Por otro lado, java es el comando para la ejecución — ejecuta el .class en la JVM.
Q2: Sample.class no se genera. ¿Cuál es la causa?
A: La causa más común es que el nombre del archivo y el nombre de la public class no coincidan.
Si la clase es public class Sample, entonces el archivo debe llamarse Sample.java.
Q3: Si estoy usando un IDE, ¿ya no necesito aprender javac?
A: Los IDEs compilan automáticamente en segundo plano, pero si no entiendes el mecanismo, será más difícil comprender lo que realmente está sucediendo.
Experimentar el flujo básico una vez te ayuda a entender el comportamiento del IDE más rápido.
Q4: ¿Qué JDK debo instalar?
A: Para principiantes, las versiones LTS de Temurin (Eclipse Adoptium) son fáciles de usar.
Si no tienes una razón específica, elige Java 17 o 21.
Q5: Obtengo javac: command not found
A: O el JDK no está instalado o la variable PATH no está configurada.
Primero ejecuta javac -version para comprobar si se reconoce.

