Desarrollo en Java: Ficheros JAR, Control de Versiones y Creación de un Proyecto
Clasificado en Informática
Escrito el en español con un tamaño de 5,2 KB
1. Ficheros JAR: Definición y Objetivos
Un fichero JAR (Java Archive) engloba ficheros y directorios en un mismo fichero comprimido. Empaqueta directorios, clases y ficheros de imagen, permitiendo ejecutar la clase principal directamente desde el JAR sin necesidad de desempaquetarlo. Sus objetivos principales son:
- Modularidad: Organizar el código en componentes reutilizables.
- Distribución: Facilitar la distribución de aplicaciones y bibliotecas.
- Ejecución: Permitir la ejecución directa del código Java.
- Compresión: Reducir el tamaño de la aplicación para optimizar el almacenamiento y la transferencia.
- Abstracción: Aprovechar la funcionalidad sin necesidad de conocer los procesos internos.
2. Control de Versiones
El control de versiones es la gestión de los cambios realizados sobre los elementos de un producto o su configuración. Los sistemas de control de versiones (como Git, SVN, etc.) facilitan la administración de las diferentes versiones, incluyendo las especializaciones. Un IDE (Entorno de Desarrollo Integrado) proporciona herramientas para interactuar con estos sistemas.
3. Organización de Clases en Paquetes: Proyecto "tu-proyecto"
El objetivo es organizar las clases del proyecto "tu-proyecto" en paquetes. En el paquete paqhola
, se creará la clase principal HolaMundo
, y en el paquete paqadios
, la clase AdiosMundo
. El directorio "tu-proyecto" se encuentra en C:/Users/Root
.
a) Creación de las Clases
package paqhola;
import paqadios.AdiosMundo;
public class HolaMundo {
public static void main(String[] args) {
System.out.println("Hola Mundo");
AdiosMundo adios = new AdiosMundo();
adios.mostrarAdios();
}
}
package paqadios;
public class AdiosMundo {
public void mostrarAdios() {
System.out.println("Adios Mundo");
}
}
b) Compilación sin Variable de Entorno CLASSPATH
Para compilar sin la variable CLASSPATH
, es necesario estar situado en el directorio padre del proyecto. Previamente, se debe configurar la variable de entorno PATH con la ruta al directorio bin
del JDK de Java (ej. C:\Program Files\Java\jdk-xxx\bin
).
C:\Users\Root\tu-proyecto> javac paqhola\HolaMundo.java
C:\Users\Root\tu-proyecto> javac paqadios\AdiosMundo.java
Esto generará los archivos HolaMundo.class
y AdiosMundo.class
dentro de sus respectivos directorios (paqhola
y paqadios
).
c) Interpretación del Proyecto sin Variable de Entorno CLASSPATH
Para ejecutar el proyecto sin CLASSPATH
, también es necesario estar en el directorio padre del proyecto:
C:\Users\Root\tu-proyecto> java paqhola.HolaMundo
d) Utilidad de las Variables de Entorno en "tu-proyecto"
- PATH: Permite ejecutar comandos (como
javac
yjava
) desde cualquier directorio sin necesidad de especificar la ruta completa al ejecutable. - CLASSPATH: Indica al compilador y al intérprete dónde encontrar las clases necesarias para la compilación y ejecución. Permite ejecutar la aplicación desde cualquier directorio si se configura correctamente con la ruta a los archivos
.class
o al archivo.jar
.
e) Creación del Archivo JAR Ejecutable
Para crear un JAR ejecutable sin necesidad de especificar la clase principal, se debe crear un archivo de manifiesto (manifiesto.txt
) que indique la clase principal:
Main-Class: paqhola.HolaMundo
Guardar el archivo manifiesto.txt
en el directorio tu-proyecto
. Luego, ejecutar el siguiente comando desde la línea de comandos, situados en el directorio tu-proyecto
:
C:\Users\Root\tu-proyecto> jar cfm archivo.jar manifiesto.txt paqhola paqadios
Para ejecutar el JAR:
C:\Users\Root\tu-proyecto> java -jar archivo.jar
IDE y sus Componentes
Un IDE (Entorno de Desarrollo Integrado) es un programa que asiste al programador en el diseño y codificación de software. Sus componentes principales son:
- Editor de texto: Para escribir el código.
- Compilador: Para traducir el código fuente a código objeto.
- Intérprete: Para ejecutar el código.
- Depurador: Para encontrar y corregir errores.
- Sistema de control de versiones: Para gestionar las diferentes versiones del código.
- Herramientas para interfaces gráficas: Para facilitar la creación de interfaces de usuario.
- Herramientas de refactorización: Para mejorar la estructura del código.
- Soporte para UML (Lenguaje Unificado de Modelado): Para modelar el sistema.