2009-02-26 29 views
15

estoy distribuyendo un programa Java donde quiero un archivo de doble puede hacer clic para ejecutar¿Equivalente a .sh y .bat en la Mac con doble clic?

java -cp MyProgram.jar;MyLib.jar my.program.Main 

En Windows simplemente distribuir un archivo .bat, * nix para un archivo .sh ejecutable. El problema es que al hacer doble clic en el archivo .sh lo abre en un editor de texto en Mac. ¿Qué debería hacer para Mac?

Respuesta

31

En mac, hay una extensión específica para ejecutar scripts de shell haciendo doble clic en ellos: esto es .command.

+0

funciona como un encanto! – Epaga

+5

Esta es una pregunta muy antigua, pero para aquellos que obtienen un error ' .com y no se pudo ejecutar porque no tiene los privilegios de acceso apropiados', como yo lo hice, ejecute lo siguiente en el Terminal: 'chmod u + x/path/to/file.command' y eso debería eliminar ese problema. – asherbar

+0

@ user2016436 No quiero agregar 'chmod u + x' para ejecutar el archivo, ya que el archivo ejecutable se ejecutará en el cliente. ¿que debería hacer? –

2

Puede utilizar un .sh (Script de Shell), después de todo, ¡MacOSX es Unix!

4

Para las aplicaciones Java en Mac, realmente debería usar Jar Bundler de Apple (en la carpeta Herramientas/Aplicaciones/Utilidades de desarrollador, realmente un enlace simbólico a/usr/share/java/Tools/Jar Bundler). Te permite crear una aplicación adecuada para hacer doble clic en OS X, incluidas las preferencias de configuración, p. utilizando la barra de herramientas de Mac, la versión de JVM, el sistema de gráficos, los metadatos de la aplicación OS X y classpath/resources.

1

La respuesta sobre el uso de la herramienta Jar Bundler es correcta, pero si desea utilizar un archivo .sh, asegúrese de que los permisos de unix estén configurados correctamente en 755 con CHMOD y asegúrese de que la primera línea contenga la ruta a un shell instalado por defecto en Mac OS X. También tenga en cuenta que incluso con el conjunto de + x bit, aún puede preguntar al usuario si desean abrirlo o ejecutarlo.

Cuestiones relacionadas