Está en la página 1de 3

Lenguaje Java Guía 19 – JAVA en sistema DOS Guía 19 – JAVA en sistema DOS Lenguaje Java

92 Created-By: 1.6.0 (Sun Microsystems Inc.)


Esto saca un listado con todos los ficheros y directorios que hay en el fichero *.jar. Al lo guardas y lo reeemplazas por el antiguo archivo manifest.mf. Listo el archivo .jar
listar cada fichero .class, pone delante el directorio/directorios en los que está metido (y Dobleclic para ejecutarlo.
que debe coincidir con su package si todo es correcto). Si no es así, debemos rehacer el
.jar
Práctica 126
Fichero JAR ejecutable
Cómo hacer para ejecutar una clase por defecto almacenada en un fichro JAR al hacer
doble click en Windows o mediante línea de comandos DOS.
Al crear un fichero JAR, se crea un único fichero MANIFEST con datos del fichero JAR
dentro del propio fichero en la ruta 'META-INF\MANIFEST.MF'. Para que un fichero JAR
sea ejecutable, habrá que modificar el fichero MANIFEST.MF, y añadir las siguientes
líneas:
Modificaciones MANIFEST.MF
Main-Class: 'nombre de la clase principal'
Path: .\'nombre del fichero jar'.jar
Práctica 127
Queremos crear un fichero JAR con el nombre myjar.jar con la clase MyClass.class que
será la que contenga el método main a ejecutar.
1. Con un editor de texto, creamos el fichero 'mymanifest.mf' en la misma ruta donde se
encuentre el fichero MyClass.class, que contenga las siguientes líneas:
mymanifest.mf
Main-Class: MyClass
Path: .\myjar.jar
2. Desde la ruta con todos los ficheros, ejecutar el siguiente comando:
jar
jar -cvfm misClases.jar mymanifest.mf misClases.class
3. Comprobar que en Windows haciendo doble click en el fichero JAR generado, la clase
MyClass.class se ejecuta,
4. Por simbolo del sistema
Ejecución java -jar myjar.jar
Práctica 128: crear un archivo jar con JCreator
Entrar a Configure>Options>Tools..le doy al Boton "new".. aparece un menu y clickeas
"Create jar File". Dobleclic para cambiar nombre. En Arguments escriba:
cfm miClase.jar c:\miClase\META-INF\manifiesto.mf miClase.class
(Agregue todos los demas archivos que componen el programa)
Con winrar abres el jar..primero le borras todos los ficheros con extension .java (el jar
no los utiliza solo se requieren los
.class)
El mas importante es el archivo
manifest.mf que se encuentra
dentro de la carpeta META-INF..
sacamos ese archivo lo editamos.
Para que el jar se ejecute
necesita el nombre de la clase
que posee el main, si no existe.lo
escribes:
Manifest-Version:
1.0
Main-Class: miClase

www.dariolara.com www.dariolara.com
Lenguaje Java Guía 19 – JAVA en sistema DOS Guía 19 – JAVA en sistema DOS Lenguaje Java
89 90
Java en Sistema D.O.S package
Introducción Todo lo contado ahora es sin poner package en ningún sitio de nuestro código.
El lenguaje Java se puede ejecutar en una IDE (Interface Development Si hacemos, por ejemplo, una clase con package
Environment) como Jcreator, Eclipse, Netbeans, Bluej, etc., la cual integra el package Practicas
editor para digitar el codigo fuente, el debugger para depurar el software, la public class miClase {
JVM (Java Virtual Machine) y el sistema de compilacion que convierte el ...
codigo fuente (.java) en ByteCodes (codigo binario) o codigo objeto (.class) }
Proceso en sistema Esto "crea" un directorio con el mismo nombre que el paquete (es decir, un
Los programas Java tambien se pueden ejecutar en ambiente de sistema (DOS) directorio Practicas) y dentro de él el fichero miClase.class correspondiente.
directamente, asi: Cuando alguna otra clase quiera usar esta clase, pondrá
1. Digitar los codigos en un bloc de notas import Practicas.MiClase;
2. Se compila con el programa javac.exe JAR
3. Se ejecuta con el programa java.exe  jar permite "empaquetar" en un único fichero *.jar varias estructuras de
Cuando se trabaja con programas java se requiere definir la ruta de las clases directorios con sus archivos.
para que el sistema operativo busque las clases digitadas. Es un archivo ejecutable de java que contiene todo.
Classpath Práctica 124: Creacion de un .jar en simbolo de sistema
Introducción Podemos considerar un archivo *.jar como un árbol de directorios y ficheros,
Cuando empezamos con java es bastante habitual obtener el error "class not que ha sido empaquetado y no podemos navegar libremente por él, pero que
found" al intentar ejecutar nuestro programa, aunque estamos bastante es un árbol de directorios en todos los sentidos.
seguros de que todo está como debía. Aquí explicaremos como crear un archivo JAR ejecutable para aplicaciones Java
Vamos a suponer que tenemos un programa java compuesto por varias clases. que es válido para cualquier sistema operativo y aporta otras muchas
En ninguna parte de nuestras clases hemos puesto package y lo tenemos todo posibilidades.
compilado en un mismo directorio, por ejemplo ..../usuarios/MI_PROYECTO Los archivos jar permiten introducir todos los archivos necesarios para ejecutar
en windows). Supongamos además que nuestro método main() está en el nuestra aplicación (clases, imágenes, sonidos, archivos de texto, etc.) en uno
fichero clasePrincipal.class. solo con la posibilidad de comprimirlos. Pero además ofrecen otras
Si ejecutamos nuestro programa en simbolo de sistema con java, escribimos: posibilidades, entre las que se encuentra la posibilidad de añadir información
java clasePrincipal adicional: versión del programa, quién lo creó, entre otros y la que en nuestro
El comando java busca las clases que necesita en unos determinados caso nos interesa: indicar la clase principal (la que contiene el método main())
directorios y ficheros .jar. Por defecto los buscará en los directorios propios de para poder ejecutarla con el intérprete de Java. Esta información se guarda en
java y en el directorio en el que se esté ejecutando el comando java. un archivo dentro del jar, que se llama MANIFEST.MF cuya ruta dentro del
Si estamos en el directorio indicado, tenemos una versión de java moderna y archivo jar será siempre META-INF/MANIFEST.MF. Este archivo es creado por
repito, no hemos puesto package por ningún lado, todo esto funcionará defecto siempre que se crea un archivo jar. Este archivo se puede personalizar,
correctamente. más adelante veremos cómo, ahora veremos cómo un archivo jar en base de
Para que funcione todo correctamente se deben definir las rutas de clase: un ejemplo:
A. En el simbolo del sistema jar cfv MiArchivo.jar Clase1.class Clase2.class Imagen1.gif Imagen2.gif Texto.txt OtrosArchivos
C:\>classpath c:\archivos de programa\java\bin
Con esta instrucción estamos creando un archivo jar de nombre MiArchivo.jar
B. Para las IDE se requiere declarar la ruta en el path environment del icono de Sistema
 Panel de control que contendrá los archivos Clase1.class, Clase2.class, Imagen1.gif, Imagen2.gif,
 Icono de sistema Texto.txt y el directorio OtrosArchivos. Como se puede observar en un archivo
 Propiedades del sistema jar podemos meter cualquier tipo de archivo, incluso directorios. En el ejemplo
 Variables de entorno hemos empleado las opciones c, f y v de la línea de comandos. Veamos la
 Ruta declarada ClassPath descripción de estas opciones y otras más:
c - Indica que vamos a crear un archivo.
f - Indica que la salida vaya a un archivo, y no a la salida estándar.

www.dariolara.com www.dariolara.com
Lenguaje Java Guía 19 – JAVA en sistema DOS Guía 19 – JAVA en sistema DOS Lenguaje Java
91
v - Indica que queremos 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.
Práctica 125: Creacion de Archivo MANIFEST.MF
Se usa para indicar cual va a ser la clase principal que contiene el método
main() y que ejecutará el programa al hacer doble clic en el jar.
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 contenido 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.
Creamos con el bloc de notas MiManifiesto.mf
A continuación se muestra un ejemplo:
jar cfm MiManifiesto.mf MiArchivo.jar ClasePrincipal.class OtraClase.class Imagen.gif
Ahora si abrimos el archivo jar con WinZip o alguno similar y consultamos el
contenido de MANIFEST.MF veremos se le añadió la línea Main-Class:
ClasePrincipal. Como seguramente ya se dieron cuenta, podemos editar
directamente el archivo MANIFEST.MF añadiendo la línea de Main-Class:
ClasePrincipal evitando todo el procedimiento que acabamos de explicar,
aunque la forma recomendada es siguiendo el procedimiento para evitar algún
tipo de error humano. Ahora solamente tenemos que indicar al sistema
operativo que los archivos .jar se tienen que abrir con el interprete de Java.
Agregar un directorio package al codigo.
Si hemos puesto package en nuestras clases, debemos crear un directorio con
el nombre del paquete y dejar en él nuestros *.class. Luego con jar debemos
empaquetar el directorio con las clases que tiene dentro
Ejemplo
jar cvf MiLibreria.jar Practicas/*.class
Esto mete dentro de MiLibreria.jar el directorio con todas sus clases. Al igual
que antes. java busca en el fichero .jar un directorio con el mismo nombre que
el paquete y dentro de él la clase. Por ello es importante empaquetar también
el directorio.
Nota
Para verificar qué es lo que se ha metido en nuestro .jar y asegurarnos que es
lo que queremos, se usa la opción t
jar tvf MiLibreria.jar

www.dariolara.com www.dariolara.com

También podría gustarte