Creando archivos “*.jar” 2008

Anuncio
Creando archivos “*.jar” 2008 Crear el archivo “.jar” desde la consola de DOS PARTE I: Extendiendo los comandos de DOS Paso 1: Debemos extender los comandos del DOS a través de las variables de entorno, para ello ubicamos el jdk o jre en nuestra PC. Paso 2: Click derecho sobre Mi PC à propiedades, luego entramos en la pestaña de Opciones avanzadas y finalmente clickeamos el botón Variables de entorno.
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 1 Creando archivos “*.jar” 2008 Paso 3: Crearemos una variable de entorno para el usuario mamani llamado: JAVA_HOME y el valor para esta variable será: “C:\Archivos de programa\Java\jdk1.6.0_03\bin;” y finalmente Aceptamos. Paso 4: Ahora modificamos la variable “PATH” agregando el siguiente valor: “%JAVA_HOME%” y terminamos aceptado las ventanas.
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 2 Creando archivos “*.jar” 2008 Paso 5: Para comprobar si ya hemos extendido los comandos de DOS introducimos el siguiente comando de java: “java –versión” en la ventana de DOS y nos debe mostrar el siguiente resultado:
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 3 Creando archivos “*.jar” 2008 PARTE II: Creando archivos *.jar Paso 1: Exploramos las opciones del comando de jar. C:\Documents and Settings\mamani>jar Uso: jar {ctxui}[vfm0Me] [archivo‐jar] [archivo‐manifiesto] [punto‐entrada] [‐C dir] archivos... Opciones: ‐c crear archivo de almacenamiento. ‐t crear la tabla de contenido del archivo de almacenamiento. ‐x extraer el archivo mencionado (o todos) del archivo de almacenamiento. ‐u actualizar archivo de almacenamiento existente. ‐v generar salida detallada de los datos de salida estándar. ‐f especificar nombre del archivo de almacenamiento. ‐m incluir información de un archivo de manifiesto especificado. ‐e especificar punto de entrada de la aplicación para aplicación autónoma que se incluye dentro de un archivo jar ejecutable. ‐0 sólo almacenar; no utilizar compresión ZIP ‐M no crear un archivo de manifiesto para las entradas. ‐i generar información de índice para los archivos jar especificados. ‐C cambiar al directorio especificado e incluir el archivo siguiente. Si algún archivo coincide también con un directorio, ambos se procesarán. El nombre del archivo de manifiesto, el nombre del archivo de almacenamiento y el nombre del punto de entrada se especifican en el mismo orden que las marcas 'm', 'f' y 'e'. Paso 2: Crearemos una aplicación para arrastrar texto desde una JTextField hacia otra, aquí nuestra clase.
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 4 Creando archivos “*.jar” 2008 Nota: La clase completa se encuentra en el Apéndice A. Paso 3: Creamos una carpeta en la partición C llamado “Java in Action”, dentro de esta ubicamos el paquete que contiene a la clase anterior mostrada, como en la imagen siguiente.
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 5 Creando archivos “*.jar” 2008 Paso 4: Compilamos la clase contenida en el paquete de la siguiente manera: · · · · Abrimos la consola de DOS Para desplazarnos utilizanos “cd..” y “cd destino” Exploramos el directorio con “dir” Una vez dentro del paquete, compilamos la clase: “javac TextDrop.java”
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 6 Creando archivos “*.jar” 2008 Antes de compilar: Después de compilar:
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 7 Creando archivos “*.jar” 2008 Paso 5: Ahora crearemos el archivo jar llamado “Interpretado.jar” de la siguiente manera: · Nos ubicamos desde la consola de DOS en “C:\Java in Action” · Ejecutamos la siguiente sentencia: jar –cf Interpretado.jar com Antes de la ejecución de: jar –cf Interpretado.jar com
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 8 Creando archivos “*.jar” 2008 Después de la ejecución: Ejecutamos el archivo “Interpretado.jar” haciendo doble click y nos mostrará lo siguiente: Desde aquí en adelante nos dedicaremos a solucionar dicho problema. Nota: Dentro del archivo “Interpretado.jar” se encuentra lo siguiente: Y dentro de la carpeta “META‐INF” se encuentra el archivo “MANIFEST.MF” el cual contiene las siguientes líneas:
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 9 Creando archivos “*.jar” 2008 El aviso que nos ha mostrado la Máquina Virtual de Java es justamente porque falta una línea que indique la clase principal para ejecutarlo. Paso 6: Creando el archivo “temp.mf” para actualizar el archivo “MANIFEST.MF”. Notamos que no menciona la clase principal de la aplicación “Interpretado.jar”, entonces nuestro objetivo será agregar la siguiente línea: Mani‐class: com.swing.mamani.TextDrop Para ello creamos un archivo temporal llamado “temp.mf” el cual contendrá la línea faltante y lo guardamos en “C:\Java in Action”. Al final tenemos lo siguiente en el directorio “Java in Action”: Paso 7: Actualizando el archivo “MANIFEST.MF” con “temp.mf” de la siguiente manera: · Nos ubicamos en la carpeta “Java in Action” desde la consola de DOS · Ejecutamos la siguiente sentencia: jar –uvmf temp.mf Interpretado.jar
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 10 Creando archivos “*.jar” 2008 Ahora el contenido del archivo “MANIFEST.MF” será:
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 11 Creando archivos “*.jar” 2008 Paso 8: Ejecutando el archivo Interpretado.jar, esto se puede hacer de dos formas: 1. Doble click sobre Interpretado.jar 2. Ejecutando la siguiente sentencia: java –jar Interpretado.jar
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 12 Creando archivos “*.jar” 2008 Apendice A // TextDrop.java package com.swing.mamani; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class TextDrop extends JFrame { private JTextField txtField1, txtField2; public TextDrop (String title) { super (title); setDefaultCloseOperation (EXIT_ON_CLOSE); getContentPane ().setLayout (new GridLayout (3, 1)); JPanel pnl = new JPanel (); pnl.add (new JLabel ("Text field 1")); txtField1 = new JTextField ("Text1", 25); txtField1.setDragEnabled (true); pnl.add (txtField1); getContentPane ().add (pnl); pnl = new JPanel (); pnl.add (new JLabel ("Text field 2")); txtField2 = new JTextField ("Text2", 25); txtField2.setDragEnabled (true); pnl.add (txtField2); getContentPane ().add (pnl); pnl = new JPanel (); pnl.add (new JLabel ("Drop mode")); JComboBox cb = new JComboBox (new String [] { "USE_SELECTION","INSERT" }); cb.setSelectedIndex (0); ActionListener al; al = new ActionListener () { public void actionPerformed (ActionEvent e){ JComboBox cb = (JComboBox) e.getSource (); int index = cb.getSelectedIndex (); if (index == 0) { txtField1.setDropMode (DropMode.USE_SELECTION);
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 13 Creando archivos “*.jar” 2008 txtField2.setDropMode (DropMode.USE_SELECTION); } else { txtField1.setDropMode (DropMode.INSERT); txtField2.setDropMode (DropMode.INSERT); } } }; cb.addActionListener (al); pnl.add (cb); getContentPane ().add (pnl); pack (); setVisible (true); }//end TextDrop public static void main (String [] args){ Runnable r = new Runnable (){ public void run () { new TextDrop ("Text Drop"); } }; EventQueue.invokeLater (r); }//end main }
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 14 Creando archivos “*.jar” 2008 Apendice B Antes de arrastrar el texto seleccionamos: Después de arrastrar el texto:
Mamani Condori Edgar Miguel ‐ mamani.sistemas@hotmail.com Página 15 
Descargar