Crear fichero .jar??

pablomaes
10 de Mayo del 2005
Hola a todos..quiero crear un ejecutable .jar xa una aplicación q tengo dividida en 3 paquetes donde cada paquete contiene varias clases..

He mirado x ahi..pero con lo q he visto..no consigo q me almacene todos los paquetes en el .jar

alguna idea ¿?¿?

Los 3 paquetes están dentro de un directorio classes/ dentro de este una carpeta x cada paquete y dentro de cada carpeta las clases..

El proyecto tiene asignada también una librería.

Ayuda??

chuidiang
10 de Mayo del 2005
Hola:

si tienes un directorio classes y dentro los directorios paquete1, paquete2 y paquete3, cada uno con sus clases, es fácil.

Te vas al directorio classses y ahi escribes esto

$ jar cvf fichero.jar paquete1 paquete2 paquete3

y ya está.

Para decir cual de las clases es la principal, tienes que empaquetar tambien un fichero de manifiesto. Es un fichero de texto con una linea que ponga esto

Main-Class: NombreClasePrincipal

Si este fichero de manifiesto lo llamas manifiesto, el comando para crear el jar es este

jar cvfm fichero.jar manifiesto paquete1 paquete2 paquete3

En cuanto a los jar separados, puedes hacer dos cosas. Por un lado dejarlos separados. Para ejecutar tendrás que ponerlos en el classpath

set CLASSPATH=<path_del_jar>un.jar;<otro_path>otro.jar
java -jar fichero.jar

Otra opción es añadir una linea mas al fichero de manifiesto asi

Class-Path: servlet.jar infobus.jar acme/beans.jar

y finalmente, como última opción, puedes meter el jar dentro de tu directorio classes y desempaquetarlo con esto

jar -xvf otro.jar

Saldrán todas las clases y será como un paquete más de tu proyecto. Ahora solo tienes que crear tu jar, pero con un paquete más.

Se bueno.

pablomaes
10 de Mayo del 2005
Muxas gracias x contestas, he conseguido que me funcione, bueno..a medias, quiero dcir, he metido los .jar externos dentro del directorio clases y los he añadido al manifest.mf; creo el .jar de mi aplicación dentro del directorio classes como me dices arriba, y ese .jar me funciona perfectamente SOLO si lo ejecutro dentro del directorio classes, si lo saco fuera, ya no me funciona, sin embargo, el .jar esta bien creado ya que contiene todos los directorios (paquetes) de mi aplicación..entonces¿?¿? no debería poder ejecutarlo desde cualquier parte???

Gracias!