Documentos de Académico
Documentos de Profesional
Documentos de Cultura
jar” 2008
Crear el archivo “.jar” desde la consola de DOS
PARTE I: Extendiendo los comandos de DOS
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:
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'.
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.
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”
Antes de compilar:
Después de compilar:
· Nos ubicamos desde la consola de DOS en “C:\Java in Action”
· Ejecutamos la siguiente sentencia: jar –cf Interpretado.jar com
Después de la ejecución:
Desde aquí en adelante nos dedicaremos a solucionar dicho problema.
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.
Mani‐class: com.swing.mamani.TextDrop
Al final tenemos lo siguiente en el directorio “Java in Action”:
Ahora el contenido del archivo “MANIFEST.MF” será:
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);
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
}
Apendice B
Antes de arrastrar el texto seleccionamos:
Después de arrastrar el texto: