Para los que usen Unix crear el script no debe tener mucha dificultad. Podemos crearlo desde la shell de la siguiente forma:
shell> echo 'java ClasePrincipal' > nombre_archivo_del_script
Siendo ClasePrincipal la clase que se ha de ejecutar y estando la ruta hacia el programa java en la variable de entorno PATH y la ruta hacia ClasePrincipal en la variable de entorno CLASSPATH. Y posteriormente ejecutarlo de la siguiente forma:
shell> sh nombre_archivo_del_script
Aunque también podríamos ejecutarlo, aunque para ello deberíamos darle los permisos adecuados. Una vez dados estos permisos lo podríamos ejecutar desde la shell de la siguiente forma:
shell> ./nombre_archivo_del_script
O de la siguiente si en la variable de entorno PATH se ha especificado el directorio actual
shell> nombre_archivo_del_script
Ejecutar directamente desde LinuxDesde la versión del Kernel 2.2.10 existe una posibilidad a la hora de compilar el kernel que nos permite ejecutar directamente un bytecode como si se tratara de un binario para Linux. Para ello necesitaremos compilar un kernel con la opción de Misc Binaries. Tendremos que crear un script para lanzar las clases (esto no será necesario para los applets). De este modo bastará con cambiar los permisos del bytecode para permitir su ejecución y ya podremos lanzar nuestro applet o aplicación como un ejecutable más. Todo ello se explica en la documentación del kernel 2.2.10.
Archivos jarLa última y más recomendada posibilidad es la de hacer un archivo jar ejecutable. Los archivos jar permiten introducir todos los archivos necesarios para ejecutar nuestra aplicación (clases, imágens, sonidos, archivos de texto, ...) en uno solo con la posibilidad de comprimirlos. Pero además ofrecen otras posibilidades, entre las que se encuentra la posibilidad de añadir información adicional: versión del programa, quién lo ha creado, ... y la que en nuestro caso nos interesa: indicar la clase principal (la que contiene el método main) para poder ejecutarla con el intérprete del JDK (el programa java). Esta información se guarda en un archivo dentro del jar, que se llama MANIFEST.MF cuya ruta dentro del archivo jar será siempre META-INF/MANIFEST.MF . Este archivo es creado por defecto siempre que se crea un archivo jar. Este archivo se puede personalizar, y ahora veremos como:
Para administrar un archivo jar se usa el programa jar del JDK.
Crear un arhchivo jarA continuación se muestra un ejemplo de cómo crear un archivo jar con las opciones más usuales.
jar cfv MiArchivo.jar Clase1.class Clase2.class Imagen.gif Sonido.au OtrosArchivos
En esta ocasión se ha creado un archivo jar de nombre MiArchivo.jar que contendrá los archivos Clase1.class, Clase2.class, Imagen.gif y Sonido.au y el directorio OtrosArchivos. Como se puede observar en un archivo jar podemos meter cualquier tipo de archivo, incluso directorios. Si exite alguna referencia a archivos dentro de otro directorio estas se mantendrán sin producirse errores ya que la jerarquía de directorios se mantiene dentro del archivo. En el ejemplo se han empleado las opciones c, f y v de la línea de comandos. Estas opciones y otras se explican a continuación:
c .- Indica que vamos a crear un archivo.
f .- Indica que la salida quieres que vaya a un fichero, y no a la salida estandar.
v .- Indica que quieres obtener información durante el proceso de creación del archivo.
m .- Indica al programa que queremos personalizar el archivo de manifiesto para añadir información adicional.
M .- Indica que no se cree el archivo de manifiesto.
0 .- Indicamos que no queremos que se comprima el contenido del archivo.
Llegados a este punto tenemos que crear el archivo de manifiesto. El archivo de manifiesto es un archivo de texto plano (sin formato) por lo que podrá ser creado con cualquier editor de textos convencional. El archivo podrá tener cualquier nombre y/o extensión ya que lo que el programa jar lo que hará será mezclar el contendio de este archivo con el que se crea por defecto.
En nuestro caso el archivo de manifiesto tendrá una sola línea en la que indicaremos la clase principal (la que contiene el método main). Esto se hace de la siguiente forma:
Main-Class: ClasePrincipal
De este modo se indica cual es la clase principal (sin .class). Ahora deberemos crear el archivo jar con esta información. A continuación se muestra un ejemplo:
jar cfm MiManifiesto.mf MiArchivo.jar ClasePrincipal.class OtraClase.class Imagen.gif
Se observa que tras las opciones, en las que está la opción m explicada anteriormente, se indica el nombre del archivo de manifiesto. Ahora solamente tendremos que indicar que los archivos .jar se abran con el programa java y con la opción -jar en la línea de comandos. Esto ya lo hace el instalador del J2SDK por lo que no será necesario hacerlo a mano.
Usuarios que han visto este tema también han visto...
- Listar fuentes del sistema
- Ordenar listas en Java
- Exprimiendo Java Web Start
- Transformar XML en HTML utilizando XSL y API Java
- Paginación Servlet con Java
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.