Ejecutables en netbeans







EJECUTABLES EN NETBEANS
I.    CONTENIDO:
1.   ARCHIVO DISTRIBUIBLE .JAR:
¿Qué son los ficheros JAR?
Una aplicación en Java está compuesta por varios ficheros .java. Al compilarlos obtenemos varios ficheros .class (uno por fichero .java), y no un único fichero ejecutable como ocurre en otros lenguajes. A menudo la aplicación está formada no sólo por los ficheros .class sino que usa ficheros de sonido (usualmente .au en Java), iconos, etc., lo que multiplica la cantidad de ficheros que forman la aplicación compilada.
Los ficheros Jar (Java ARchives) permiten recopilar en un sólo fichero varios ficheros diferentes, almacenándolos en un formato comprimido para que ocupen menos espacio. La particularidad de los ficheros .jar es que no necesitan ser descomprimidos para ser usados, es decir que el intérprete de Java es capaz de ejecutar los archivos comprimidos en un archivo jar directamente. Por ejemplo, si hemos recopilado todos los ficheros necesarios para ejecutar una aplicación en un fichero "aplic.jar", podemos lanzar la aplicación desde una terminal de texto mediante:
java -jar aplic.jar
Crear un archivo distribuible jar para poder usar las aplicaciones que haces en java no tiene mucha ciencia y si no quieres meterle nada especial y simplemente quieres que se ejecute el programita en cuestión con netbeans tienes que hacer lo siguiente:
Establecer el proyecto del que quieres obtener el jar como proyecto principal
Ir al menú Run y elegir Clean and Build Main Proyect o pulsar Mayúsculas+F11
Otra opción es haciendo click derecho en el proyecto elegido elegir Clean and Build y se obtiene lo mismo. Lo hagas de la forma que lo hagas la primera vez hay que elegir Clean and Build y luego si quieres puedes usar Build o Build Main Proyect (ó F11).
El .jar resultante está en la carpeta dist dentro del proyecto de netbeans.
Pero si has usado alguna librería externa netbeans no te la incluye en el jar sino que la deja mete en la carpeta lib (que también está dentro de la carpeta dist). Para incluir la librería externa en el jar tienes que hacer lo siguiente:
·       Descomprime el jar (Si usas winrar elige extraer aquí) y tendrás la carpeta lib y las dos que había dentro del jar META-INF y otra que tendrá el nombre de tu aplicación.
·       Abre el archivo MANIFEST.MF que está en la carpeta META-INF y modifica la ruta en la que buscará las librerías. Por ejemplo, si tenemos Class-Path: lib/log4j-1.2.16.jar para que funcione al incluir la carpeta lib dentro del .jar la ruta deberá de ser Class-Path: ./lib/log4j-1.2.16.jar.
·       Selecciona las 3 carpetas, botón derecho Añadir al archivo… le pones el nombre de tu aplicación (si quieres) eliges ZIP como formato del archivo y le das a aceptar (Si no usas winrar comprímelo en un ZIP como se haga teniendo en cuenta que lo que necesitas es comprimir las 3 carpetas sin que estén dentro de otra porque de lo contrario no funcionará el jar).
·       Ahora solo queda cambiar la extensión del archivo resultante de .zip a .jar y ya tienes tu jar listo y con tus librerías externas incluidas.
Así de rápido y sencillo es incluir librerías (imágenes, los .java o lo que quieras) en el jar del proyecto usando NetBeans.
2.   PROCESO PARA GENERAR EJECUTABLE:
Un archivo EXE, o un archivo con la extensión “.exe”, es un tipo de archivo ejecutable que se usa comúnmente con los sistemas operativos de Windows. El archivo EXE es uno de los archivos más útiles de Windows, ya que se usa comúnmente para instalar o ejecutar programas. Casi todos los instaladores serán paquetes ejecutables, y muchos programas pequeños se ejecutan solamente con archivos Exe. Si necesitas crear un programa o un script para distribución o instalación, necesitarás aprender a hacer un archivo EXE tú mismo. Afortunadamente, Windows viene con una utilidad para crear ejecutables, y usarla es muy fácil.
Pasos:
a)      Ejecuta la aplicación IExpress en Windows. La aplicación IExpress es una utilidad que viene incluida en Windows, y provee una forma sencilla de convertir tu programa en ejecutable. Para ejecutar el programa, presiona el botón de Inicio y haz clic en “Ejecutar”. En el cuadro de diálogo que aparezca, teclea “iexpress.exe” y presiona “Enter”. Si usas Windows Vista, puedes presionar el botón de “Inicio” y empezar a teclear “iexpress” y aparecerá el archivo en los resultados de búsqueda.

 
b)      Especifica que quieres crear un nuevo ejecutable. Cuando IExpress se abra, te preguntará si quieres abrir un archivo ejecutable existente o si quieres crear uno. Escoge crear uno nuevo seleccionando la opción que dice “Create new Self Extraction Directive file”.

c)    Especifica el tipo de paquete ejecutable que quieras crear. En la nueva pantalla te pedirá escoger entre 3 opciones para la acción que debe tomarse cuando el usuario abra el archivo EXE. La primera es extraer el archivo y luego ejecutar un comando adicional. El segundo es extraer los archivos solamente (lo que se recomienda). La tercera opción sólo aplica para distribuir controles Active X.
d)    Ponle un nombre a tu paquete. La siguiente pantalla de pedirá un nombre para el paquete. Este no es el nombre de archivo para tu archivo EXE; este es el título que aparecerá en la ventana del instalador.
e)    Escoge una ventana de confirmación para tu archivo EXE si lo deseas. La siguiente pantalla en IExpress te permitirá especificar un texto de confirmación para darle al usuario al abrir el archivo ejecutable. Si no deseas que aparezca ese texto, marca la opción que dice “No Prompt”.
f)      Especifica los acuerdos de licencia que rigen el uso de tu ejecutable. La siguiente pantalla te permitirá elegir unos acuerdos de licencia para tu software. El instalador le informará al usuario que tipo de acuerdo rige el uso del software. Para mostrar un acuerdo de licencia, teclea el acuerdo que rija el uso del software en un archivo de texto y únelo después de seleccionar el botón que dice “Display a license”.
 

g)    Selecciona los archivos que tu archivo EXE instalará en la computadora del usuario. La siguiente pantalla te permitirá escoger los archivos que el ejecutable deba instalar; puedes seleccionar tantos como quieras. Agrega un archivo haciendo clic en el botón que dice “Add” y luego navega a la ubicación del archivo en tu disco duro. Podrás ver los archivos que agregaste a la ventana de iExpress.
 
h)    Especifica el nombre del archivo ejecutable. La siguiente pantalla te pedirá especificar el nombre de archivo para tu archivo EXE; recuerda que debe terminar con la extensión “.exe”. Esta pantalla también incluye una opción para mostrar u ocultar el proceso completo de extracción al usuario.

i)      Crea el archivo ejecutable.
·       Haz clic en Next para crear el paquete.
·       Haz clic en el botón Finish en la última pantalla de iExpress para compilar el archivo EXE y guardarlo en la ubicación que especificaste. Puedes probar el archivo ejecutable haciendo doble clic en él extraerá los archivos.
3.   EJEMPLOS:
Se desea obtener n cantidad de números primos, el usuario debe de introducir el número final para obtener los números primos.
Por ejemplo: Deseo saber cuáles son los números primos que hay hasta el número 50.
Primero creamos una Librería Java a la cual hemos puesto el nombre de aritmética, luego, crearemos un paquete que le pondré el nombre de métodos en este paquete creare una clase llamada primos.java.
La clase primos.java se encargará de calcular los números primos y devolver el resultado impreso en la pantalla del usuario.

package metodos;
public class primos {
      int j, i, dv, sum;
      boolean primo;
      public void primos(int valores) {
            for ( i = 2; i < valores; i += 1) {
                  primo = true;
                  for ( j = 2; j < i / 2; j += 1) {
                        if (i % j == 0) {
                              primo = false;
                              break;
                        }
                  }
                  if (primo) {
                        //El 4 no es primo xD.
                        if (i == 4) {
                        } else {
                              System.out.print(i + " - ");
                        }
                  }
            }
      }
}

Ya que tenemos nuestra libreria aritmetica.jar con su respectivo paquete llamado métodos y nuestro método para calcular los números primos llamada clase primo.java, pasamos a crear nuestra aplicación.
Para ello pedí un nuevo proyecto “Java Aplication” al cual llame cprimos, yo trabajare en modo consola por razones de tiempo.
Nos vamos al proyecto, seleccionamos la carpeta Libraries, damos clic con el botón derecho Agregar JAR/Folder y buscamos el archivo jar que hayamos generado del proyecto anterior (o sea de la librería o clase como quieran llamarle que está más arriba).

package cprimos;
import metodos.*;
import java.io.*;

public class Main {
      /**
       * @param args the command line arguments
       */
      public static void main(String[> args) throws IOException {
            //variables
            int total;
            //Creamos una instanacia de primos
            primos pm = new primos();
            BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
            System.out.println("+++ Calculadora de Números Primos +++");
            System.out.println("Hasta donde deseas calcular: ");
            total = Integer.parseInt(bf.readLine());
            //Hacemos el paso de parámetros al método primos de la clase métodos
            pm.primos(total);
      }
}

La ventaja de trabajar con nuestras propias clases y librerías es que podemos reutilizarlas en otras aplicaciones, de esta forma nos ahorraremos el tener que volver a escribir el mismo método para el cálculo de un factor… etc. Este ejemplo es muy pobre, pero podemos crear grandes aplicaciones y librerías bien estructuradas para el uso en aplicaciones potentes.

II.    RESUMEN:
NetBeans es un entorno de desarrollo muy completo y profesional. Contiene muchas funcionalidades, para distintos tipos de aplicaciones y para facilitar al máximo la programación, la prueba y la depuración de las aplicaciones que se desarrollan. También incorpora un editor propio.
Los ficheros Jar (Java ARchives) permiten recopilar en un sólo fichero varios ficheros diferentes, almacenándolos en un formato comprimido para que ocupen menos espacio. Esta particularidad de los ficheros .JAR es que no necesitan ser descomprimidos para ser usados, es decir que el intérprete de Java es capaz de ejecutar los archivos comprimidos en un archivo JAR directamente.

III.    SUMMARY:
NetBeans is a very complete and professional development environment. It contains many features, for different types of applications and to facilitate the programming, testing and debugging of the applications that are developed. It also incorporates its own editor.
The Jar files (Java ARchives) allow to compile in a single file several different files, storing them in a compressed format so that they occupy less space. This particularity of .JAR files is that they do not need to be decompressed to be used, that is to say that the Java interpreter is able to execute the compressed files in a JAR file directly.

IV.    RECOMENDACIONES:
·       Los archivos Ejecutables (EXE) pueden contener virus y demás códigos maliciosos, por ello, es recomendable escanearlos bien con el antivirus de tu portátil antes de abrirlos.
·       Para manejar un archivo ejecutable es recomendable aprender el código binario para ahorrar tiempo.

V.    CONCLUSIONES:
Una aplicación en Java está compuesta por varios ficheros .java. Al compilarlos obtenemos varios ficheros .class (uno por fichero .java), y no un único fichero ejecutable como ocurre en otros lenguajes. A menudo la aplicación está formada no sólo por los ficheros .class sino que usa ficheros de sonido (usualmente .au en Java), iconos, etc., lo que multiplica la cantidad de ficheros que forman la aplicación compilada.
Se puede lanzar una aplicación llamando al intérprete de java (comando java) seguido de .JAR y del nombre del fichero .JAR correspondiente. Sin embargo, hay algo en todo esto que no "encaja": Si el fichero .JAR contiene muchos ficheros .class, ¿cuál de todos se ejecuta? Sabemos que debe ejecutarse el que contiene el método main pero, ¿cómo sabe el intérprete de Java que clase de todas las del fichero contiene este método? La respuesta es que lo sabe porque se lo tenemos que decir durante la creación del fichero jar. Y la forma de hacerlo es un poco liosa. Vamos a verlo paso a paso. Para simplificar suponemos que estamos en un terminal de texto (consola Linux o símbolo del sistema en Windows), que el comando JAR es accesible (es decir, la carpeta que contiene jar.exe) y que nos encontramos en el directorio donde se encuentran los ficheros .class que deseamos "empaquetar".
·       Crear un directorio META-INF (¡las mayúsculas son importantes!) y dentro un fichero MANIFEST.MF. Este fichero indica, entre otras cosas, cuál será la clase principal. A menudo el fichero MANIFEST.MF contiene una única línea:
      Main-Class: Principal
Indicando que Principal.class es la clase que contiene el método main.
·    Crear el fichero .jar mediante el comando
    jar cfm fich.jar META-INF/MANIFEST.MF *.class
El nombre fich.jar es el que nosotros queramos y corresponde al fichero .jar que se creará conteniendo todos los ficheros indicados (en este caso todos los ficheros .class).
·         Se puede comprobar que el contenido del fichero es el adecuado escribiendo:
    jar tf fich.jar
Que mostrará la lista de clases contenidas en el fichero. Este comando también puede ser útil para examinar el contenido de las librerías del sistema.
·       Para lanzar el archivo basta con teclear ahora:
    java -jar fich.jar
·         Si alguna vez se quiere "desempaquetar" el contenido de un archivo jar se pueden usar las opciones "xf":
    jar fich.jar
Esto puede resultar particularmente útil si queremos echar un vistazo a algunos paquetes del sistema que vienen de esta forma.

VI.    APRECIACIÓN DEL EQUIPO:
Los ficheros JAR son de gran ayuda, ya que permiten recopilar en un sólo fichero varios ficheros diferentes, almacenándolos en un formato comprimido para que ocupen menos espacio. Los ficheros .JAR no necesitan ser descomprimidos para ser usados, puesto que el intérprete de Java es capaz de ejecutar los archivos comprimidos en un archivo JAR directamente.
VII.    GLOSARIO DE TÉRMINOS:
·       JAR: Un archivo JAR (por sus siglas en inglés, Java ARchive) es un tipo de archivo que permite ejecutar aplicaciones escritas en el lenguaje Java.
·       WinRar: WinRAR es un potente programa compresor y descompresor de datos multi-función desarrollado por RarLab, una herramienta indispensable para ahorrar espacio de almacenamiento y tiempo de transmisión al enviar y recibir archivos a través de Internet o al realizar copias de seguridad.
·       RarLab: La desarrolladora RARLAB, creadora del popular formato de compresión RAR y del software de compresión WinRAR para PC, lanzaron recientemente para nuestros dispositivos su aplicación oficial para Android.
·         ZIP: Zip es un formato de compresión sin pérdida, muy utilizado para la compresión de datos como documentos, imágenes o programas. Para este tipo de archivos se utiliza generalmente la extensión ".zip". Muchos programas, tanto comerciales como libres, lo utilizan y permiten su uso más habitual.
·       Archivo EXE: un archivo con extensión “.exe” (del inglés executable) es un formato de archivo informático que contiene una serie de instrucciones para ejecutar un programa.
·       No Prompt: (sin aviso).
·       IExpress: IExpress.exe es un asistente y una herramienta de línea de comandos que se incluye en Windows XP, Windows Server 2003, Windows Vista® y Windows Server 2008. Puede usar IExpress para empaquetar archivos de instalación y crear instrucciones para la extracción de estos archivos.
·  META-INF: META-INF está relacionada con archivos .jar  que contienen el manifiesto (lista de contenidos) de un jar y se crean cuando se escribe un archivo jar.
·       MANIFIEST.MF: En la plataforma Java un archivo manifest es un archivo específico contenido en un archivo Jar. Se usa para definir datos relativos a la extensión y al paquete. Es un archivo de metadatos llamado MANIFEST.MF y organizado con pares nombre-valor organizado en diferentes secciones.
·    Class-Path: En el lenguaje de programación Java se entiende por Classpath una opción admitida en la línea de órdenes o mediante variable de entorno que indica a la Máquina Virtual de Java dónde buscar paquetes y clases definidas por el usuario a la hora de ejecutar programas.

VIII.    LINKOGRAFÍA:
·       http://gpd.sip.ucm.es/rafa/docencia/programacion/tema1/jar.html
·       http://programandoointentandolo.com/2013/04/crear-archivo-jar-en-netbeans-con-librerias-externas.html
·       https://es.wikihow.com/crear-un-archivo-EXE
·       http://www.forohack.com/index.php?Ver=Mensaje&Id=6011
·       https://es.slideshare.net/LisbethOcaaBueno/ejecutables-en-netbeans-84186674





Comentarios

Entradas más populares de este blog

TRANSACCIONES EN SQL SERVER

APLICACIONES N-CAPAS EN VISUAL.NET

PROCEDIMIENTOS ALMACENADOS