11 votos

¿Cómo se ejecuta un tarro al hacer doble clic en él?

Por lo tanto, hago doble clic en mi archivo jar y sólo parpadea una ventana con la pantalla en blanco y luego desaparece. Después de eso, hago clic derecho y seleccione "Abrir con jar launcher" es el mismo. también. Abrí Terminal y escribo java -jar "System FRONT.jar" entonces se abrió perfectamente.

Quiero que se abra directamente al hacer doble clic. ¿Cómo lo hago?

0 votos

Probablemente abre una ventana de terminal, termina y luego cierra la ventana de terminal.

0 votos

Para depurar en Terminal.app - vaya a Preferencias->Configuración elija la pestaña Shell y altere la opción "Cuando el Shell salga" entonces el terminal permanecerá abierto

8voto

Puedes añadir un pequeño script al .jar para hacerlo ejecutable mediante doble click. En Terminal haga lo siguiente:

$ cat > header-template <<"EOF"
#!/bin/sh

exec java -jar $0 "$@" > /dev/null

EOF
$ cat header-template "System FRONT.jar" > executable_app
$ chmod +x executable_app

Doble clic en executable_app debería lanzar ahora la aplicación.


¿Por qué funciona esto? Bueno, un .jar es sólo un archivo .zip que es descomprimido y ejecutado por java. Y el formato zip permite añadir cosas adicionales delante del archivo real. Cualquier desarchivador zip se salta esta parte hasta que encuentra el inicio del archivo (indicado por PK... ).

1 votos

Utilizo Mac desde 1984, pero sobre todo desde 2001 y MacOS X. Utilizo Java desde antes de su lanzamiento. ¡Y tenía hoy años cuando me enteré de que se podía hacer esto!

2voto

yoliho Puntos 340

La mejor manera de hacer que una aplicación java gui funcione con OSX es empaquetarla como una aplicación. Esto requiere Jar Bundler.app que en Lion está en /usr/share/java/Tools/Jar Bundler.app . Creo que se instala como parte de Xcode, pero no parece estar en la documentación actual de Apple por lo que ahora podría no ser compatible. La documentación antigua es aquí

Parece que hay tareas de hormiga para hacer esto en appbundler que se documenta en el Documentación de Oracle JavaSE .

0 votos

En realidad es un juego. Entonces, ¿cómo puedo hacer que la gente haga doble clic en él y abra mi tarro sin comandos?

0 votos

Otros usuarios preferirán que sea una aplicación para OSX en lugar de un simple .jar. En este caso, se hace una vez como parte del proceso de compilación y los usuarios no tienen que hacer nada.

2voto

tomj Puntos 106

Después de muchos esfuerzos, finalmente encontré la solución, es decir, hacer tu propia aplicación Jar Launcher:

  1. Inicie Automator para realizar una acción rápida de Automator

    enter image description here

  2. Seleccionar aplicación

  3. Busque la acción Ejecutar Shell script con Filtrar elementos del buscador y añádala a la la derecha.

  4. pegar scripts aquí como esta abajo:

    enter image description here Hago algunos cambios para mejorarlo

    export JAVA_HOME=/usr/libexec/java_home -v 1.8 cd "$(dirname "$@")" java -jar "$@"

  5. guardar esta acción rápida como una app por ejemplo "abrir jar.app"

  6. vaya a /System/Library/CoreServices/Jar Launcher.app/Contents/Resources y copie JarLauncher.icns enter image description here

  7. cd a "open jar.app" que acaba de hacer y pegar JarLauncher.icns a "abrir jar.app/Contenidos/Recursos"

  8. edita "open jar.app/Contents/Info.plist" y cambia la clave(AutomatorApplet a JarLauncher.icns):

    <key>CFBundleIconFile</key>
    <string>JarLauncher.icns</string>

enter image description here

  1. ahora puedes elegir abrir con "abrir jar.app" igual que antes. enter image description here

0voto

Steve Evans Puntos 155

Packr

Puede utilizar packr para empaquetar su jar para distribuirlo fácilmente y hacer doble clic para abrirlo:

Empaqueta su JAR, activos y una JVM para su distribución en Windows (ZIP), Linux (ZIP) y Mac OS X (.app), añadiendo un archivo ejecutable nativo para para que parezca una aplicación nativa. Packr es más adecuado para aplicaciones GUI, como juegos hechos con libGDX

packr se ha debatido en Noticias Hacker y es un proyecto de código abierto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X