Compilar y Ejecutar Programas Java: Conceptos Esenciales

Clasificado en Informática

Escrito el en español con un tamaño de 6,96 KB

Compilación y Ejecución Básica de Java

Compilar un archivo .java

  1. Crea el archivo fuente con un editor de texto (como el Bloc de notas). Guarda el archivo en una ubicación accesible (por ejemplo, C:\Users\Root). Al guardar, selecciona "Todos los archivos" y nómbralo con la extensión .java (ej: HolaMundo.java).
  2. Abre la línea de comandos (cmd) y navega hasta la carpeta donde guardaste el archivo (cd C:\Users\Root).
  3. Ejecuta el compilador de Java: javac HolaMundo.java.
  4. Si no hay errores, se generará un archivo .class (ej: HolaMundo.class) en la misma carpeta. Este archivo contiene el bytecode.

Ejecutar (Visualizar) el programa compilado

  1. Asegúrate de estar en el directorio que contiene el archivo .class (ej: C:\Users\Root). Si necesitas subir de nivel en la estructura de directorios, usa el comando cd .. (por ejemplo, desde C:\Users\Root, cd .. te lleva a C:\Users, y otro cd .. te lleva a C:\).
  2. Para ejecutar el programa desde el directorio raíz del paquete (en este caso, la carpeta que contiene directamente HolaMundo.class), usa el comando java seguido del nombre de la clase (sin la extensión .class): java HolaMundo.

Compilación y Ejecución con Paquetes

Compilar desde un directorio padre

Si tu archivo HolaMundo.java está dentro de un paquete (una carpeta, por ejemplo, paqprueba), y estás situado en el directorio que contiene esa carpeta (C:\Users\Root), compila especificando la ruta relativa:

C:\Users\Root> javac paqprueba\HolaMundo.java

Esto generará el archivo HolaMundo.class dentro de la carpeta paqprueba.

Ejecutar especificando el paquete

Para ejecutar una clase que pertenece a un paquete, debes estar en el directorio raíz (el que contiene la carpeta del paquete, C:\Users\Root en este caso) y usar el nombre completo de la clase (paquete.Clase):

C:\Users\Root> java paqprueba.HolaMundo

Archivos JAR (Java Archive)

Un archivo .jar engloba ficheros y directorios (como clases .class, paquetes y recursos como imágenes) en un único fichero comprimido. Permite distribuir y ejecutar aplicaciones Java de forma más sencilla, ya que se puede ejecutar la clase principal directamente desde el archivo .jar sin desempaquetarlo manualmente.

Crear un archivo .jar

Desde el directorio que contiene los archivos/carpetas a empaquetar (ej: C:\Users\Root\proyecto):

jar cf nombreArchivo.jar [archivos o carpetas a incluir]

Ejemplo: jar cf miApp.jar com/miempresa/miApp/*.class imagenes/logo.png

Ver el contenido de un archivo .jar

C:\Users\Root> jar tf fichero.jar

Modificar (actualizar) un archivo .jar

Para añadir o reemplazar archivos dentro de un JAR existente:

C:\Users\Root> jar uf fichero.jar paqprueba\HolaMundo.class

Ejecutar una clase desde un archivo .jar

Se necesita especificar el classpath (-cp) para indicar dónde buscar las clases (en este caso, dentro del JAR) y luego el nombre completo de la clase a ejecutar:

C:\Users\Root> java -cp fichero.jar paqprueba.HolaMundo

Conceptos Clave del Entorno Java

Variables de Entorno en Windows

Las variables de entorno almacenan información sobre el entorno del sistema.

  • PATH: Ya existe por defecto en Windows, ya que el sistema la necesita. Contiene una lista de rutas de directorios donde el sistema operativo busca archivos ejecutables (como javac.exe y java.exe).
  • CLASSPATH: No existe por defecto. Contiene rutas de directorios y/o archivos .jar donde la Máquina Virtual de Java (JVM) busca archivos .class. Si se define, permite ejecutar clases Java desde cualquier ubicación sin necesidad de estar en el directorio específico o usar la opción -cp siempre.

Paquetes (package)

Un paquete es una forma de agrupar clases e interfaces relacionadas, proporcionando un espacio de nombres y control de acceso. Se declaran usando la palabra clave package al inicio del archivo .java.

IDE (Entorno de Desarrollo Integrado)

Un IDE es un programa que proporciona un conjunto completo de herramientas para facilitar la programación, el diseño y la codificación de software.

Componentes Comunes de un IDE:

  • Editor de texto avanzado (con resaltado de sintaxis, autocompletado, etc.).
  • Compilador integrado.
  • Intérprete/Depurador (para ejecutar y encontrar errores).
  • Herramientas de construcción (como Maven o Gradle).
  • Integración con sistemas de control de versiones (como Git).

Tipos de Ejecución de Programas Java

Un programa Java puede ejecutarse principalmente como:

  • Aplicación Independiente (Stand Alone): Una aplicación de escritorio o servidor que se ejecuta directamente sobre la JVM.
  • Applet: Una pequeña aplicación diseñada para ser incrustada y ejecutada dentro de un navegador web (tecnología mayormente obsoleta).
  • Servlet: Una aplicación Java especial sin interfaz gráfica que se ejecuta en un servidor web o de aplicaciones para gestionar peticiones y respuestas (típicamente HTTP).

Paquetes Anidados

Para organizar mejor las clases, Java permite crear subpaquetes dentro de los paquetes de forma recursiva. Por ejemplo, si deseas dividir las clases de prueba en paqpruebas básicas y avanzadas, puedes usar más niveles separando los nombres con puntos:

  • paqpruebas.basicas
  • paqpruebas.avanzadas

La estructura de directorios en el sistema de archivos debe reflejar esta jerarquía (ej: una carpeta paqpruebas que contiene subcarpetas basicas y avanzadas).

Flujo Básico de Java

  1. Editor: Escribir el código fuente (.java).
  2. Compilador (javac): Traducir el código fuente a bytecode.
  3. Bytecode (.class): Archivo resultante de la compilación, independiente de la plataforma.
  4. Intérprete (java / JVM): Ejecutar el bytecode en una máquina específica.

Entradas relacionadas: