Cuando comienzas a aprender Java, el primer obstáculo importante que encuentras suele ser la “compilación”. Simplemente escribir código fuente (.java) no es suficiente para ejecutar un programa. Debes compilarlo usando el comando javac para generar un archivo .class antes de que pueda ejecutarse. En este artículo, explicamos el proceso de compilación de Java, el uso básico de javac, la configuración de PATH y cómo manejar errores comunes, todo de manera paso a paso que los principiantes pueden seguir. El objetivo es ayudarte a pasar con confianza de “¿Por dónde empiezo con la compilación de Java?” a compilar y ejecutar programas de Java sin confusiones.
- 1 ¿Qué es la compilación de Java? | Entendiendo “compilación” para principiantes
- 2 Requisitos para la compilación de Java
- 3 Compilando un archivo de Java en la práctica
- 4 Ejecutando un programa después de la compilación
- 5 Errores comunes y cómo solucionarlos
- 6 Compilación con un IDE
- 7 Opciones básicas de javac
- 8 Resumen
- 9 Preguntas frecuentes: dudas comunes sobre la compilación en Java
¿Qué es la compilación de Java? | Entendiendo “compilación” para principiantes
En Java, la “compilación” se refiere al proceso de convertir el código fuente escrito por humanos (.java) en un formato que la Máquina Virtual de Java (JVM) pueda leer.
La salida de este proceso es un archivo .class, que se llama bytecode.
A diferencia de lenguajes como C que se compilan directamente en código máquina nativo, Java primero convierte el código fuente en bytecode y luego lo ejecuta en la JVM.
Gracias a este mecanismo, el mismo archivo .class puede ejecutarse en diferentes sistemas operativos, permitiendo que el mismo programa de Java se ejecute en Windows, macOS y Linux.
Otro punto importante que entender es que la compilación y la ejecución son operaciones separadas.
- “javac” → responsable de la compilación
- “java” → responsable de la ejecución
Alrededor del 90% de los principiantes luchan porque esta distinción no está clara.
Entender firmemente que estos dos comandos tienen roles diferentes es el primer paso más eficiente.
Requisitos para la compilación de Java
Para compilar código de Java, debes tener instalado el JDK (Java Development Kit).
El JRE solo no es suficiente, porque el compilador javac es una herramienta de desarrollo incluida solo en el JDK.
Comienza verificando lo siguiente:
javac -version
Si este comando devuelve un número de versión, todo está bien.
Si ves un mensaje como “command not found”, es probable que una de las siguientes sea verdadera:
- El JDK no está instalado
- El JDK está instalado pero PATH no está configurado
- Solo está instalado el JRE (sin herramientas de desarrollo)
En particular, la configuración de PATH es un tropiezo común para principiantes.
Si el sistema no puede encontrar el directorio que contiene javac (o el directorio bin), la compilación no funcionará.
Conclusión:
Solo puedes comenzar a compilar Java después de que tanto la “instalación del JDK” como la “verificación de PATH” se hayan completado correctamente.
Compilando un archivo de Java en la práctica
Aquí, crearemos un programa de muestra simple y lo compilaremos usando javac.
Primero, guarda el siguiente contenido en 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 es crucial que el nombre de la clase pública coincida con el nombre del archivo.
Java no compilará si se viola esta regla, y este es un error clásico de principiantes.
A continuación, ejecuta el siguiente comando en tu terminal o símbolo del sistema:
javac Sample.java
Si la compilación tiene éxito, aparecerá un archivo Sample.class en el mismo directorio.
Esto indica que la compilación se ha completado exitosamente.
En este punto, ahora tienes:
- Sample.java (código fuente)
- Sample.class (bytecode)
Con este par en su lugar, estás listo para ejecutar un programa de Java.
Ejecutando un programa después de la compilación
Después de la compilación, el siguiente paso es ejecutar el archivo .class.
El comando utilizado aquí es java, no javac.
java Sample
El punto clave es no incluir la extensión .class.
Si escribes java Sample.class, ocurrirá un error.
Java está diseñado para ejecutar programas especificando el nombre de la clase.
En resumen:
| Role | Command | Target |
|---|---|---|
| Compile | javac Sample.java | .java file |
| Run | java Sample | Class name (no extension) |
Una vez que entiendas claramente los roles diferentes de javac y java, habrás superado efectivamente la etapa de principiante.
.Si aparece “¡Hola Java!” en la pantalla, tu programa se ejecutó correctamente.
En este punto, ya has comprendido el flujo mínimo necesario de Java.
Errores comunes y cómo solucionarlos
Encontrar errores durante la compilación de Java es completamente normal para los principiantes.
Aquí nos centramos en los problemas más habituales que enfrentan muchos usuarios.
1) javac: command not found
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 correctamente
Solución:
Ejecuta javac -version
→ Si no funciona, reinstala el JDK y revisa la configuración de tu PATH.
2) La compilación tiene éxito pero no se genera el archivo .class
El error más frecuente es:
El nombre del archivo no coincide con el nombre de la clase pública
Ejemplo:
public class Test {
}
→ Esto provocará un error de compilación.
3) Advertencias relacionadas con la codificación
warning: [options] bootstrap class path not set in conjunction with -source 1.7
Advertencias como esta normalmente no son errores fatales.
Sin embargo, pueden indicar opciones de origen obsoletas o desajustes de codificación.
Para evitar problemas, siempre guarda tus archivos en UTF‑8.
Compilación con un IDE
En el desarrollo real de Java, los programadores rara vez ejecutan javac manualmente desde la línea de comandos.
Esto se debe a que los IDE (Entornos de Desarrollo Integrados) manejan la compilación automáticamente.
Los IDE siguientes son especialmente populares y prácticos:
| IDE | Features |
|---|---|
| IntelliJ IDEA | The de facto standard for modern Java development, suitable for professional use. |
| Eclipse | A long-established IDE widely used in enterprise projects. |
| VS Code | Lightweight; Java Extension Pack provides a complete environment. |
Los IDE compilan automáticamente tu código cada vez que guardas un archivo y resaltan los errores al instante.
Esto elimina muchos tropiezos típicos de principiantes, como errores de escritura de comandos y configuraciones incorrectas del PATH.
Dicho esto, compilar manualmente con javac al menos una vez es útil para entender cómo funciona Java internamente.
Una vez que comprendas el flujo “compilar → ejecutar”, tu velocidad de aprendizaje con un IDE aumentará considerablemente.
Opciones básicas de javac
El comando javac admite muchas opciones que controlan cómo se realiza la compilación.
A nivel de principiante, solo necesitas conocer algunas de las más usadas.
A continuación, tres opciones representativas:
| Option | Description | Example |
|---|---|---|
-d | Specifies the output directory for class files | javac -d out Sample.java |
-classpath | Specifies external libraries or additional class paths | javac -classpath lib/* Sample.java |
--enable-preview | Enables preview language features | javac --enable-preview Sample.java |
La opción -d es especialmente importante cuando se usan paquetes.
Por ejemplo, si utilizas package com.example;, omitir javac -d producirá una estructura de directorios incorrecta.
A medida que pases al desarrollo real, las opciones classpath y -d se vuelven cada vez más relevantes.
Incluso reconocer sus nombres desde temprano hará que el aprendizaje futuro sea más fluido.
Resumen
Para ejecutar un programa Java, debes entender el proceso de tres pasos: escribir código fuente → compilar → ejecutar.
Una vez que tengas claros los roles de javac (compilación) y java (ejecución), el propósito de la compilación será evidente.
Los dos tropiezos más comunes para principiantes son:
- El JDK no está instalado o la variable PATH no está configurada
- El nombre del archivo no coincide con el nombre de la clase pública
Al abordar estos puntos desde el principio, puedes evitar desvíos innecesarios en tu proceso de aprendizaje.
Puedes pasar al desarrollo basado en IDE una vez que te sientas cómodo, pero comprender el mecanismo subyacente mejorará significativamente tu velocidad de aprendizaje.
Utiliza este artículo como punto de partida y concéntrate primero en convertir con éxito un solo archivo .java en un archivo .class.
Ese momento marca tu primer hito real en el aprendizaje de Java.
Preguntas frecuentes: dudas comunes sobre la compilación en Java
P1: ¿Cuál es la diferencia entre javac y java?
R: javac es el comando de compilación que convierte archivos .java en archivos .class.
java es el comando de ejecución que corre los archivos .class en la JVM.
P2: ¿Por qué no se genera Sample.class?
R: La razón más frecuente es que el nombre del archivo no coincide con el nombre de la public class.
Si la clase es public class Sample, el archivo debe llamarse Sample.java.
markdown.Q3: ¿Todavía necesito aprender javac si utilizo un IDE?
A: Los IDE compilan el código automáticamente, pero sin comprender el proceso puede ser difícil saber qué ocurre tras bambalinas. Experimentar el flujo básico una vez facilita mucho el uso del IDE.
Q4: ¿Qué JDK debo instalar?
A: Para principiantes, las versiones LTS de Eclipse Adoptium (Temurin) son fáciles de usar.
Si no tienes requisitos específicos, Java 17 o 21 son opciones seguras.
Q5: Obtengo javac: command not found
A: Esto indica que el JDK no está instalado o que la variable PATH no está configurada.
Primero, verifica con javac -version.


