Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Ejercicios / Java / Ejecutar JAR con parámetros de entrada

Ejecutar JAR con parámetros de entrada

Autor jc mouse martes, diciembre 18, 2012

Java nos permite pasar parámetros a una aplicación empaquetada en un *.JAR mediante el MAIN de nuestro programa, pero claro esta, debemos preparar a nuestro programa para que acepte y utilice esas variables, en este tuto implementaremos un programa sencillo que solicitara dos parámetros de entrada los cuales mostrara en pantalla, caso contrario nos muestra un mensaje de error.

Que utilizaremos y que necesitamos saber.

  • IDE Netbeans en cualquiera de sus versiones
  • Conocer del manejo de la consola de windows y de sus comandos MS-DOS

Comencemos.

1. Creamos un nuevo proyecto en netbeans el cual constara de su main respectivo y de un JFrame que llamaremos “interfaz.java”

Sample
– Sample.java
– interfaz.java

2. El Main: Esta clase ejecuta nuestra aplicación java, pero también esta clase tiene como parámetros de entrada un Array de tipo String, es este array el cual contiene las variables que vienen desde el exterior.

Utilizararemos un TRY-CATCH para gestionar los errores que puedan ocurrir (no enviar parámetros)  y caso contrario, se mostrara la interfaz con los parámetros de entrada. Puede verse que en la  forma de llamar a nuestra interfaz, incluimos la variable ARGS, nuestro JFrame creado desde netbeans, no tiene esa variable declarada y por tanto nos dará error, debemos modificar la clase “interfaz.java”.

import javax.swing.JOptionPane;
/**
 * @website http://jc-mouse.net/
 * @author Mouse
 */
public class Sample {

    public static void main(String[] args) {
        try{          
            //LLama a la interfaz pasando el array de parametros que entra por pa lariable args
            new interfaz( args ).setVisible(true);            
        }
        catch ( ArrayIndexOutOfBoundsException e )
        {            
            //si no existen parametros muestra error y termina programa
            JOptionPane.showMessageDialog(null,"Error: No se pasaron argumentos. Necesita 2");
            System.exit(0);
        }
    }
}

3. la clase interfaz.java:

Nuestra interfaz consta de un JTextArea (nombre: jTextArea1) donde mostraremos los parámetros de entrada, eso con respecto al diseño exterior, pero como ya dijimos más arriba, debemos modificar la clase en si.

Lo primero que cambiaremos sera el constructor de clase, por defecto, al crear la clase desde netbeans, tiene la siguiente forma:

 public interfaz() {
    initComponents();
 }

Cambiaremos este constructor por:

 public interfaz( String[] args ) {
        initComponents();
        //Se colocan los paramemtros de entrada en el JTextArea
        this.jTextArea1.setText(""
                + "Parametro 1: " + args[0] +"\n"
                + "Parametro 2: " + args[1]
                );
    }

Como se ve, añadimos el array ARGS como parámetro de entrada en el constructor, ademas colocamos las variables del array en el JTextArea. args[0] para el primer elemento, args[1] para el segundo y así sucesivamente.

Pero aun nos falta modificar algo mas, bajamos un poco y buscamos en el editor la siguiente instrucción.

     /* Create and display the form */
     java.awt.EventQueue.invokeLater(new Runnable() {
         public void run() {         
                new interfaz().setVisible(true);
         }

Esta instrucción es la que llama a nuestro JFrame y que seguramente te estará mostrando error, cambiamos un poco su forma, aumentamos las siguientes lineas de código:

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                String args[] = new String[2];
                new interfaz( args ).setVisible(true);
            }
        });

Explicación: Añadimos un Array con una longitud de 2 elementos, si quisiéramos más valores , solamente modificamos su tamaño.

esta nuevo ARRAY, se lo pasamos al constructor como parámetro de entrada y ya esta todo listo.

Eso es todo, compilamos y construimos el JAR, si lo ejecutamos directamente desde el IDE, nos saldrá una ventana de alerta que nos dice que no tienen parámetros de entrada, eso es lo que declaramos en la clase MAIN.

Para ejecutar esta JAR y pasar los parámetros de entrada, utilizaremos un archivo BATCH el cual ejecutara el JAR desde la linea de comandos y al cual le añadimos los parámetros de entrada a continuación del nombre de la aplicación, de la siguiente forma.

java -jar Sample.jar "Hola Mundo" "Adios Mundo Cruel"

Ahora para ejecutar el archivo *.BAT hay diferentes formas, ya sea directamente desde la consola o creando un script o un exe en .NET por ejemplo, las opciones son varias. En este ejemplo utilizamos la consola de windows.

dale play

TIPS.

SI queremos ejecutar este ejemplo desde el IDE de netbeans, debemos, hacer clic derecho en el proyecto e ir a sus PROPIEDADES, después buscamos la opción RUN y donde dice Arguments (agumentos), se añaden los parámetros de entrada, separados por un espacio cada uno de ellos. Despues ya ejecutamos la aplicación como hacemos siempre.

Ejemplo del tutorial AQUI

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Tradukisto: Conversión de dinero en palabras

Tradukisto: Conversión de dinero en palabras

Tradukisto es una biblioteca para Java 8 creada para convertir números enteros o cantidades de dinero a sus equivalentes...

Utiliza 2 bases de datos diferentes en una aplicación parte I

Utiliza 2 bases de datos diferentes en una aplicación parte I

Cuando se desarrolla una aplicación, puede ser un requisito que este tenga soporte para varias tipos de base de datos, s...

Métodos GET y POST en RestFul y JSON

Métodos GET y POST en RestFul y JSON

En este post veremos como enviar solicitudes GET y POST a un API RestFul  desde un dispositivo con android. Nuestra apli...

Ajustar imagen de fondo a diferentes resoluciones

Ajustar imagen de fondo a diferentes resoluciones

Si diseñamos paginas web, nos habremos topado con el problema de colocar una imagen de fondo y que este se adapte a toda...

Ejemplo de uso de ProgressDialog

Ejemplo de uso de ProgressDialog

Un ProgressDialog muestra una ventana con un texto y una barra de progreso que indica el tiempo que tarda una tarea en r...

Crea un efecto Flip en java swing

Crea un efecto Flip en java swing

Entre los correos y mensajes en facebook y whatsapp que me llegan (y de entrada pido perdón a quienes no puedo responder...

6 comentarios en “Ejecutar JAR con parámetros de entrada”

  1. VIANEY VARGAS dice:

    amigo mouse donde lo encuentro donde esta me podrias ayudar???? con algo???

    1. Mouse dice:

      holas, si necesitas ayuda búscame en facebook 🙂

      1. Fred dice:

        yo te envie mensaje desde mi cuenta de face el año pasado y ni me contestaste u.u por eso veo que aqui si ayudas gggg xD aunque igual necesito comentarte algunas cosas en algun momento te llegara un mensaje de mi parte en el face, lo raro que antes me aparecian dos jc mouse en facebook y enviava los mensajes a esas dos cuentas ahora solo veo uno, saludos y gracias por tus tutoriales son geniales.

        1. Mouse dice:

          gracias men, trato de contestar las preguntas cuando puedo pero a veces leo un mensaje y no tengo la respuesta en ese momento y como la memoria es fragil 🙂 en ocasiones se me olvida dejar una respuesta luego luego 🙂

  2. jannez dice:

    hola
    necesito como exportar un jtable a excel, he mirado varios tutoriales y no encuentro la forma,
    le recomiendo si tiene uno
    gracias
    att: jannez urrego

    1. Mouse dice:

      tomo nota gracias 🙂

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

Small Basic es un lenguaje de programación propiedad de Microsoft creado especialmente para ayudar a los estudiantes a p...

Lorca Editor es una aplicación online creada por el desarrollador español Domingo Martin el cual tiene como objetivo el...

Eratóstenes era un matemático griego del siglo  III a.C. el cual ideó una manera rápida de obtener todos los números pri...

Las matemáticas son fundamentales para la vida y aparte de las actividades clásicas de enseñanza desarrolladas en el aul...

Herramientas

Generador de Enlaces a Whatsapp