INTRODUCCIÓN
Hace algunos días desarrollamos una aplicación en Java el cual tiene como función
principal generar un archivo PDF con la información del XML de la
factura que se generan aquí en México, actualmente van en la
versión 3.3 y este programa es para esa versión.
Pero a lo mas que logramos
hacer es ejecutar dentro de una carpeta el programa con un archivo
.sh, sin instalarlo como se debe.
Ahora queremos que nuestro
programa sea mas profesional y se instale en nuestro sistema
operativo con todo y los iconos en el menú listo para funcionar en cualquier sistema basado en debían y que se ejecute sin problemas,
de manera que el usuario no necesite hacer ajustes.
OBJETIVO
Crear el instalador de un programa escrito en Java con su icono en el menú y que funcione sin necesidad de usar la terminal.
CONOCIMIENTOS PREVIOS
Es necesario conocer los directorios en los que vamos a instalar, de hecho primeramente vamos instalarlo en el sistema de archivos.

nos vamos a la raíz de disco duro donde tenemos instalado vemos que
tenemos la carpetas OPT y USR .
En la carpeta OPT
guardamos normalmente los programas de terceros auto contenidos, es
el equivalente a archivos de programa de Windows.
URS
aquí van archivos relativos al
programa como los iconos que estos están dentro de una carpeta que
se llama Applications,
ademas aquí meteremos una carpeta llamada XMLAPDF
donde vendrán los reportes y nuestro archivo de base de datos, como
vamos hacer lectura y escritura de ese archivo dejamos esa carpeta
con acceso a lectura y escritura.
Archivos Carpeta OPT
Vamos
a meter nuestro ejecutable jar
con su carpeta lib en
una carpeta con el nombre de la aplicación dentro de la carpeta OPT
y para no tener problemas
con la versión de JAVA
que podría tener instalado el sistema operativo, nosotros mismos
agregaremos el jdk,
así nos ahorramos cualquier problema de incompatibilidad.
El jdk que utilizaremos
para este programa lo pueden descargar desde nuestra nube de Telegram
haciendo clic aquí.
Ahora
creamos el archivo llamado ejecutar.sh ,
este ejecutara el programa a través de jdk , dentro de ejecutar.sh
tendremos el siguiente comando
/opt/ConvertidorXMLPDF/jdk/bin/java
-jar /opt/ConvertidorXMLPDF/LeerXML.jar
Igual puede descargar el
archivo completo haciendo clic aquí

final esa carpeta nos quedaría así
Ahora le tenemos que crear un
acceso directo a ejecutar.sh dentro de la carpeta usr/bin
para que lo ejecute con los
máximos derechos, eso he
escuchado, por lo que entiendo es para que no requiera ejecutarlo
como sudo en la terminal.
sudo
ln -sf /opt/ConvertidorXMLPDF/ejecutar.sh /usr/bin/ConversorXML
Lanzador
con icono

un archivo de texto con el siguiente contenido, vemos como tomar el
icono de la carpeta que tenemos en OPT. Este archivo lo dejáramos en
la carpeta /usr/share/applications/
Ahora hacemos la prueba y si
nos vamos al menú y lo buscamos como Convertidor ya nos debe salir y
si le damos clic ya podremos ejecutar el programa.
Si el programa ya se ejecuta
correctamente ahora sigue el empaquetado.
CREANDO
EL INSTALADOR .DEB
Ahora lo que sigue es crear una carpeta con el nombre de la aplicación que ustedes preferían ponerle en mi caso le pondré ConvertidorXMLPDF Y allí meteremos todos los archivos que hemos creado con la misma ruta.
Ejemplo lo que metimos en OPT, agregaremos la carpeta OPT y metemos allí los archivos.
Ojo solo los archivos que hemos creado nosotros, no vallan a copiar toda la carpeta de OPT Igual hacer con la carpeta de USR donde tenemos la carpeta de trabajo XMLAPDF, el lanzador y el archivo que dejamos en la carpeta bin Igual crearemos una carpeta llamada DEBIAN y dentro de ella meteremos un archivo con el nombre control así sin extención.
Para que se puedan dar una idea es así como quedarían los archivos.


Se ve difícil pero en realidad es sencillo, en el video mostraremos como hacerlo. Ahora procederemos a crear el archivo .DEB Para ello nos vamos a la terminal y ubicamos la carpeta que hemos hecho, y la generamos con el siguiente comando
dpkg –build ConvertidorXMLPDF


podemos abrir el paquete para instalarlo
Deja un comentario