0% encontró este documento útil (0 votos)
25 vistas22 páginas

Paquetes en Java y su compilación

El documento explica cómo organizar el código Java utilizando paquetes y cómo compilar y ejecutar una aplicación Java con múltiples clases organizadas en paquetes. Los paquetes permiten agrupar clases relacionadas y evitar conflictos de nombres. Para compilar todo el código, se debe usar el comando javac especificando la ruta al directorio de paquetes y la clase principal. Para ejecutar, se usa el comando java especificando la ruta y clase principal. Los archivos JAR permiten empaquetar una aplicación en un solo

Cargado por

carlos
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas22 páginas

Paquetes en Java y su compilación

El documento explica cómo organizar el código Java utilizando paquetes y cómo compilar y ejecutar una aplicación Java con múltiples clases organizadas en paquetes. Los paquetes permiten agrupar clases relacionadas y evitar conflictos de nombres. Para compilar todo el código, se debe usar el comando javac especificando la ruta al directorio de paquetes y la clase principal. Para ejecutar, se usa el comando java especificando la ruta y clase principal. Los archivos JAR permiten empaquetar una aplicación en un solo

Cargado por

carlos
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Paquetes en Java

y cómo compilar todo


Dr. Asdrúbal López Chau
Código sin paquetes
• Suponer que se está desarrollando un sistema software, para lo cual
se han diseñado cuatro clases (Cliente, Cuenta, Producto y Persona)
para modelar objetos, y una clase Main para probarlos antes de la
siguiente etapa del desarrollo.
• Una forma (muy mala) de organizar estas clases es la siguiente:

P.O.O. por Dr. Asdrúbal López Chau 2


Código sin paquetes
• Ventajas:
• Compilar es muy fácil: javac *.java
• Desventajas:
• Todas: No hay organización del código, no se puede reutilizar en otros
proyectos, no pueden haber clases diferentes con el mismo nombre, etc.

P.O.O. por Dr. Asdrúbal López Chau 3


Paquetes
• Una mejor solución al problema anterior, es organizar todo en sub
directorios.

VS

Esto da origen a lo que se conoce como paquetes…

P.O.O. por Dr. Asdrúbal López Chau 4


Paquetes en Java
• Un Paquete en Java es simplemente un contenedor de clases (o sea,
un directorio) que permite agrupar las distintas partes (clases) de un
programa (en subdirectorios).
• Define la ubicación de varias clases en un directorio de estructura
jerárquica.

Adaptado de [Link] consultado el 24 febrero 2019


P.O.O. por Dr. Asdrúbal López Chau 5
Viviendo “sin paquetes”
• Toda clase en Java debe de pertenecer a un paquete.
• Cada archivo .java deberá de especificar en qué paquete se
encuentra.
• Pregunta, ¿Pero cómo? ¡Si nunca lo habíamos especificado!
• Respuesta: Si no se define un paquete para una clase Java, se definirá
automáticamente un paquete llamado "default”.
• Moraleja: No se puede vivir sin paquetes en Java, si no se especifica
se crea el paquete default.

P.O.O. por Dr. Asdrúbal López Chau 6


Nombres de paquetes
• Los nombres de paquetes deben de escribirse en minúsculas
(recomendado para cumplir el estándar).
• Se debe de usar el nombre de dominio inverso de la organización que
desarrolla la clase, ejemplo:
• [Link] es la organización
• El paquete sería el siguiente:
• [Link]

P.O.O. por Dr. Asdrúbal López Chau 7


Especificando el paquete de cada clase
• Se usa la palabra reservada package y el nombre del paquete.
• Ejemplo

Debe de ser la primera


línea de código en el
archivo
(los comentarios no
cuentan).

Para ejercicios simples, a veces


se omite lo del dominio inverso,
pero en desarrollos reales
es OBLIGATORIO.
P.O.O. por Dr. Asdrúbal López Chau 8
¿Cómo compilar todo?
• Suponer la siguiente estructura

Para compilar, lo primero es “pararse” o ubicarse


en el directorio superior a donde se encuentran los paquetes

Ejemplo: En windows es dir

P.O.O. por Dr. Asdrúbal López Chau 9


¿Cómo compilar todo?
• Suponer la siguiente estructura

El comando a usar es….


javac -cp directorioPaquetes [Link]

P.O.O. por Dr. Asdrúbal López Chau 10


¿Cómo compilar todo?
• Comando
javac -cp directorioPaquetes [Link]

Revuelve código y
Esto funciona, pero genera los archivos bytecode
.class en las mismas
carpetas donde se encuentran los .java

P.O.O. por Dr. Asdrúbal López Chau 11


¿Cómo compilar todo?
• Para evitar lo anterior, se recomienda crear un directorio aparte,
llamado, por ejemplo, classes o build

Directorio donde se almacenarán los .class

Donde se almacenan

El comando para compilar es

javac -cp src/ src/pruebas/[Link] -d classes


Clase principal
Directorio de paquetes P.O.O. por Dr. Asdrúbal López Chau 12
¿Cómo compilar todo?
javac -cp src/ src/pruebas/[Link] -d classes

¡Ahora, los archivos .class se


han generado en el directorio especificado!

Veamos ahora cómo se ejecuta el programa…

P.O.O. por Dr. Asdrúbal López Chau 13


¿Como ejecutar?
• Para ejecutar se usa el comando java, pero especificando la ruta
donde se encuentran los paquetes, y el nombre de la clase Main,
incluyendo el paquete.

P.O.O. por Dr. Asdrúbal López Chau 14


¿Como ejecutar?
• Ejemplo

Este error es muy común. Se debe a que no se ha especificado correctamente la ruta


donde se encuentran los paquetes, o está mal el nombre de la clase principal

P.O.O. por Dr. Asdrúbal López Chau 15


¿Como ejecutar?
• Ejemplo

Correcto:

P.O.O. por Dr. Asdrúbal López Chau 16


¿Como ejecutar?
• Ejemplo, fuera del directorio

Hay que colocar toda la ruta

P.O.O. por Dr. Asdrúbal López Chau 17


¿Como ejecutar?
Algunos problemas del enfoque anterior son:
• Se debe de especificar la ruta completa
• Se debe de usar la consola, o crear un archivo bat o shell para que
ejecute
• La aplicación consiste en varios archivos .class, eliminar alguno por
error causa que la aplicación pueda colapsar.

P.O.O. por Dr. Asdrúbal López Chau 18


Archivos jar
• Los archivos .jar son archivos comprimidos por la herramienta jar de
java
• Pueden contener .class, imágenes u otros recursos
• Son usados para empaquetar una solución Java, autoejecutable

P.O.O. por Dr. Asdrúbal López Chau 19


Archivos jar
• Crearemos un archivo llamado [Link] que contenga lo siguiente

Main-Class: [Link]
Class-Path: ./classes

P.O.O. por Dr. Asdrúbal López Chau 20


Archivos jar
• El comando para producir el jar es:
jar cvfm [Link] [Link] -C classes/ .

P.O.O. por Dr. Asdrúbal López Chau 21


Ejecutar el jar
• Ahora, nuestra aplicación se encuentra contenida en un solo archivo,
llamado [Link]

P.O.O. por Dr. Asdrúbal López Chau 22

También podría gustarte