2010-04-22 35 views
31

Hice una aplicación Java que me gustaría distribuir en Windows, OSX y Linux sin distribuir un archivo jar. Utilicé el gran contenedor de Windows exe http://launch4j.sourceforge.net/ para crear un archivo .exe completo con mi icono que no asustará a los usuarios de Windows.¿Convertir .jar a un ejecutable OSX?

¿Hay envoltorios similares que puedo usar para OSX/Unix? Una consideración importante es que me gustaría tener mi propio ícono en el ejecutable (especialmente para usuarios de Mac).

Gracias!

Respuesta

30

Sí, en Mac OS X hay un programa llamado Jar Bundler que se instala cuando instala la versión gratuita (suponiendo que ya posee una copia de Mac OS X) Xcode Developer Tools que le permite agrupar un archivo JAR dentro de una Mac nativa Paquete de aplicaciones OS X "* .app" con un icono bonito y brillante al igual que otras aplicaciones.

actualización
El bundler JAR no existe en versiones posteriores de OS X. Como solución, puede crear manualmente un proyecto OS X que invoca Java. O bien, hay una variedad de extensiones de sistemas de compilación que hacen algo similar; por ejemplo, el complemento gradle-macappbundle para Gradle creará dicha aplicación contenedora.

+1

Jar Bundler no forma parte de las herramientas de Xcode Developer desde Lion 10.8.2 (http://stackoverflow.com/questions/15375490/why-is-jar-bundler-gone-in-mac-os-x- mountain-lion-10-8-2) – gardenofwine

+0

¿Hay alguna manera de hacer el instalador de windows exe? Es decir. ¿hay un análogo de Windows del complemento macAppBundle para gradle? – hepcat72

5

Si no tiene una Mac para construir esto (o desea integrarlo en una cadena de construcción existente), es posible que desee echarle un vistazo al OS X Application Bundle Plugin for Maven.

Esto (si se ejecuta en Linux o Windows) crea un zip que se descomprimirá como una aplicación de Mac adecuada. Si ejecuta Maven en una Mac, también puede hacer una DMG.

2

También puede empaquetar la aplicación con la tarea JarBundler Ant:

http://informagen.com/JarBundler

<jarbundler dir="release" 
     name="MyApp" 
     mainclass="org.foo.myapp.Main" 
     jar="myapp.jar" /> 
5

JarBundler es obsoleta, pero hay una (mejor) el reemplazo oficial: la herramienta javapackager.

Para OSX, un tutorial simple, bien explicado y paso a paso sobre cómo crear un DMG desde java está aquí: http://centerkey.com/mac/java/. Para otras plataformas, solo necesita modificar el ejemplo utilizando los modificadores adecuados en javapackager.

1

El usuario de Github Jorl17 realizó una excelente secuencia de comandos de Python llamada jar2app que hace esto con un simple comando. Incluso te permite personalizar el ícono de la aplicación.

https://github.com/Jorl17/jar2app

Sólo tienes que instalar, siga las instrucciones, y se obtiene el archivo .app.

Cuestiones relacionadas