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
Publicar un comentario