Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Ejercicios / Java / Ejecutar JAR con parámetros de entrada

Ejecutar JAR con parámetros de entrada

Por 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

Artículos similares

Personalizar JTable: Problema resuelto

En este post se da respuesta a una pregunta realizada por facebook. El problema dice así: Se quiere personalizar un JTab[...]

Interfaces Funcionales

Una Interface Funcional es una interface que contiene uno y solo un método abstracto aunque puede contener métodos por d[...]

Juego: Acierta los colores (Código Fuente)

Acierta los colores o Adivina los colores es un sencillo juego que consiste en que dado 6 colores «rojo», «verde», «salm[...]

Leer archivos de texto

En este tutorial de android, vemos como leer un archivo de texto y mostrarlo en pantalla del celular, el texto elegido e[...]

MVC Java y Base de Datos Tutorial

En post pasados [Ejemplo práctico de MVC java Swing con Netbeans, 3 en raya java con MVC y Netbeans , MVC: Modelo, Vista[...]

JASYPT : Cifrado simplificado Java

Jasypt es una biblioteca java que permite agregar capacidades básicas de encriptación a proyectos con el mínimo esfuerzo[...]