Empaquetar aplicaciones Java en NetBeans junto con
sus dependencias (Reportes, Imgenes y Documentos) Muchas veces cuando finalizamos un proyecto necesitamos empaquetarlo para entregarlo al usuario, normalmente este procedimiento lo hacemos de manera manual, es decir compilamos nuestro proyecto y posteriormente creamos la carpeta de recursos para poner dentro archivos nescesarios para el correcto funcionamiento de la applicacion. En este instructivo voy a explicar como mover dichos archivos, empaquetarlo y crear un archivo .bat para ejecutar la aplicacin sin asociar el .jar a un descompresor de archivos instalado. Comenzamos!! En este caso tenemos un proyecto en NetBeans llamado JyA_COM, el cual depende de cuatro imgenes (.png) dentro del paquete resources que vemos dentro de la pestaa Projects
Damos clic en la pestaa Files y vemos los archivos que fueron creados por NetBeans.
Creado por Sal Alejandro Orea Ortega
Ya que vimos la estructura por default que nos crea el IDE, damos clic en el botn Clean and Build, con la finalidad de compilar y crear el archivo .jar el cual es el ejecutable de nuestra aplicacin.
Una vez compilado vemos que dentro de la estructura de los archivos nos creo una carpeta llamada dist, en la cual nos creo el .jar ademas de una carpeta llamada lib donde nos guarda las librerias necesarias para la ejecucuion de la aplicacin.
Ahora empecemos a modificar el archivo build.xml para lograr el objetivo de este instructivo
Creado por Sal Alejandro Orea Ortega
Al abrir el archivo vemos que tiene unas etiquetas como lo muestra la siguiente imagen:
Ahora escribiremos el siguiente cdigo el cual nos ayudara a crear y mover los archivos para empaquetar la aplicacin.
Ya que escribimos el cdigo anterior dentro del archivo build.xml, dicho archivo quedara de la siguiente manera:
Creado por Sal Alejandro Orea Ortega
***************************Cdigo*************************** <target name="-post-jar"> Utilizado para ejecutarse despus de la creacin del archivo .jar <echo file="${dist.dir}/run.bat">java -jar ${application.title}.jar</echo> Crea un archivo llamado run.bat para ejecutar la aplicacin sin relacionarla con un descompresor de archivos. <mkdir dir="${dist.dir}/src"/> Crea un directorio llamado src dentro del directorio dist, en el cual se guardaran nuestros recursos. (png, jpg, jrxml, doc, xls, docx, xlsx, etc) <copy todir="${dist.dir}/src"> <fileset dir="src/resources"/> </copy> Copia del paquete resources de nuestro proyecto al directorio src creado anteriormente.
<zip destfile="${dist.dir}/${application.title}.zip" basedir="${dist.dir}" /> Crea el archivo .zip en el cual estarn todos los archivos necesarios para la ejecucin de la aplicacin. </target> Cierre de la etiqueta target. ************************************************************* Para comprobar que funciono, volvemos a dar clic en Clean and Build
Creado por Sal Alejandro Orea Ortega
Ahora vemos que la estructura dentro de nuestra carpeta dist, es distinta ahora tenemos un directorio llamado src, en el cual tenemos dentro los archivos (.png en este caso) necesarios para la ejecucin de la aplicacin y otro llamado JyA_COM.zip, el cual es el empaquetado y el que podemos entregar al usuario.
Vamos a nuestro explorador de Windows y buscamos nuestro archivo JyA_COM.zip y lo abrimos para comprobar que se empaqueto correctamente.
Creado por Sal Alejandro Orea Ortega
Y efectivamente encontramos todos nuestros archivos necesarios de la aplicacin.
Nota: Para evitar que aparezca la ventana del CMD al ejecutar el archivo run.bat cambiamos: <echo file="${dist.dir}/run.bat">java -jar ${application.title}.jar</echo> por <echo file="${dist.dir}/run.bat">start javaw -jar ${application.title}.jar</echo>