Crear fichero .jar??
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??
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??
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.
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.
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!
Gracias!