Aplicaciones Java "nativas" en Mac
Como algunos ya sabreis, estoy haciendo una aplicacioncilla. Se llama MPO y es un generador de código JDBC. Por cierto ya tiene página web.
Pues bien, unos compañeros de universidad y yo usamos MacOS X, así que inspirado en el artículo Make Your Swing App Go Native me decidí a hacer un ejecutable Mac para facilitar el uso de mi aplicación. El artículo cuenta entre otras cosas como hacer un bundler, que es un tipo especial de directorio que el Finder (explorador de ficheros de Mac) reconoce como una aplicación. Este tipo de directorios contiene toda la información de la aplicación: nombre del ejecutable, librerías necesarias, iconos, información sobre asociación de extensiones de archivos, etc. Debido a que es simplemente un directorio con una estructura determinada es muy sencillo crearlo mediante unas cuantas tareas de ant.
Sin embargo he encontrado algo mejor: JarBundler. Es una tarea de ant que te genera toda la estructura de directorios necesaria.
Bueno, ahora que tengo mi bundler sólo me queda redistribuirlo. Pero no puedo comprimirlo en un zip ni nada por el estilo porque pierdo los permisos de los archivos al descomprimirlo. Lo mejor sería hacer un archivo dmg (disk image). Mmmm... pero no es algo sencillo.... o sí. ¿Habrá una tarea de ant que lo haga por mí? La respuesta es afirmativa: MacOS X image format via ant. Así que en dos sencillas tareas de ant me he creado un ejecutable para Mac comprimido con dmg.
Primero definimos las tareas ya que no vienen de serie con ant
<taskdef name="jarbundler"
classpath="${lib}/jarbundler-1.4.jar"
classname="com.loomcom.ant.tasks.jarbundler.JarBundler" />
<taskdef name="dmg"
classname="com.amberarcher.ant.osx.DmgTask">
classpath="${lib}/osxant.jar" />
Ahora las utilizamos.
<jarbundler dir="${releases}"
aboutmenuname="${appname}"
version="${date}"
name="${appname}"
mainclass="com.my.package.MainClass"
jars="${releases}/classes.jar" />
<dmg destfile="${releases}/${appname}.dmg"
name="${appname}"
compressed="true"
srcdir="${releases}/${appname}.app"/>
me dejaras algun dia de sorprender?
Enviado por luis en enero 11, 2005 a las 04:15 PM GMT+01:00 #