Paquetes (Librerias) en Java y los Jars

Fuentes:

  • http://www.lab.dit.upm.es/~lprg/material/apuntes/packages/packages.htm
  • http://javabasico.osmosislatina.com/curso/progbasico/genpack.htm
  • http://javabasico.osmosislatina.com/curso/progbasico/usopack.htm
  • http://javabasico.osmosislatina.com/curso/progbasico/jars.htm
Saludos!!!

Ahora, vista de las mismas necesidades de conocimiento, voy a mostrar como trabajar con los paquetes de Java o packages.
Un paquete en Java es lo que su nombre lo indica, un paquete o conjunto de clases, lógicamente, que tienen cosas en común. Lógicamente un programado puede agruparlas con o sin criterio, pero lo ideal es que se dediquen a funciones especificas. También los paquetes definen una jerarquía de directorios, que permiten igualmente agrupas las clases, cosa de desplegar los archivos mas ordenadamente.
También, cuando necesitamos librerías de java, igualmente estamos llamando a una clase especifica o a todo un paquete. Por ejemplo, cuando ponemos esto:

import System.io.*;

estamos importando todas las clases del paquete System.io. Ahora, si hacemos esto:

import org.usach.abo.ABO;

Estamos importando la clase ABO del paquete org.usach.abo.

Para definir un paquete solo tenemos que incluir antes que los paquetes a importar, la definición del paquete al que pertenece la clase, de la forma siguiente:

package org.ruta.del.paquete;

lo que implica que el paquete tiene que estar en la ruta:

org/ruta/del/paquete

o en windows, suponiendo que el proyecto fue creado en c:\mi_proyecto\

c:\mi_proyecto\org\ruta\del\paquete\

En ese directorio tenemos que crear nuestra clase con el identificador de package. Si queremos compilar o ejecutar algo, solo tenemos que ubicarnos en el directorio del proyecto y poner:

java org.ruta.del.paquete.MiClase
javac org.ruta.del.paquete.MiClase.java

El asume estomáticamente la ruta hacia la clase o conjunto de clases.

Los famosos JARs

Los JAR o archivos con extensión .jar, corresponden a archivos ZIP, que contienen un conjunto de clases organizadas en paquetes. Esto resulta muy útil cuando tenemos una gran cantidad de clases, lo que implica una gran cantidad de archivos, por lo que empaquetarlas en un JAR resulta practico al momento de la distribución de nuestro software o despliegue.
Para crear un JAR de nuestros paquetes, solo tenemos que ubicarnos en la raiz de los paquetes y llamar al ejecutable jar, que viene includo en el SDK de Java, asi:

jar cvf mipaquete.jar *
y con esto obtendremos todas las clases y paquetes en un solo y practico archivo JAR.Asi mismo, para extraer el contenido de un .jar solo hay que hacer:

jar xvf mipaquete.jar

y recrea la estructura del paquete que teníamos cuando empaquetamos.

JARs y Netbeans 5.5

Al trabajar con NetBeans 5.5 tambien podemos decirle que nos genere un archivo JAR para distribuir nuestro proyecto. Para hacer esto, hacemos click secundario en el proyecto y vamos a "Properties" y luego a la seccion "Packaging". Deberian ver algo como esto:El primer cuadro nos muestra cual ba a ser el nombre del archvo JAR a generar. El segundo muestra que archivos va a excluir al empaquetar, que como predeterminado excluye los fuentes. Tambien, nos da la opcion de comprimir el archivo JAR, usando comprension ZIP.

Extra Bonus!!

Para Windows:

Les recomiendo que al momento de trabajar con estas utilidades, ya sea al trabajar con JARs o compilar y ejecutar usando la liea de comandos, agreguen en su variable de entorno el directorio en donde tienen instalado su SDK, al directoio "bin". Así, si yo tengo instalado mi SDK en:
c:\Archivos de programas\J2SDK_\

Nota: si tienen la ultima(a la fecha de escribir esto), es 1.6.0 y es 1.
En su variable PATH, deberían tener agregado:

c:\Archivos de programas\J2SDK_\bin

Verifiquenlo abrindo la consola(Menu Inicio->Ejecutar->'cmd') y tecleando:

echo %PATH%

y debería estar en su ruta.
Espero que os sea de mucha utilidad. Salu2!!!

Apoyando el Software Libre, a un mundo libre! - Designed by Posicionamiento Web