No se puede crear un archivo ejecutable .app usando Platypus

2

Soy nuevo en OS X y estoy tratando de crear un contenedor de aplicación para un script de shell que inicie un servidor de medios (Red5)

Estoy tratando de envolver el script de inicio del servidor Red5 ( red5.sh ) en un ejecutable .app usando Platypus .

La Documentación Platypus dice que

  

Puede agregar una lista de archivos para copiar en la carpeta de Recursos de   su paquete de aplicaciones. Estos archivos pueden ser utilizados por su script.   El directorio de trabajo actual predeterminado de su script será este   carpeta, por lo que debería poder acceder a ellos directamente desde su   CWD del script.

Cuando se ejecuta normalmente desde el terminal (está usando ./red5.sh ), el servidor se inicia correctamente, pero cuando creo el archivo .app (después de haber configurado la CWD del script en el campo "Archivos a empaquetar" de Platypus, el archivo resultante .app no se ejecuta cuando se hace doble clic.

Da el siguiente error

Error: Could not find or load main class

No estoy seguro de lo que estoy haciendo mal, pero creo que tiene que ver con empaquetar el directorio correcto.

    
pregunta user42933 06.11.2013 - 14:35

1 respuesta

1

Tuve un problema similar al intentar ejecutar un servidor de aplicaciones web basado en Java. Para mí, el problema resultó ser que mis variables de entorno (en particular, JAVA_HOME ) no se estaban configurando, lo que se debe a que la instancia de Bash (o la shell que la use) no se inicia como un inicio de sesión shell O una shell interactiva, por lo que su script de perfil (por ejemplo, ~/.profile , ~/.bashrc , etc.) no se ejecuta automáticamente.

Para mí, la solución fue agregar lo siguiente a mi script:

source ~/.profile

El comando source hace que los comandos en ~/.profile se ejecuten en el shell actual; De esta manera, las variables de entorno que establece ese script estarán disponibles para la instancia de Bash que comienza el ornitorrinco.

Tenga en cuenta que es importante que no solo ejecute el archivo de perfil como un script de shell; eso hará que se ejecute en su propia shell, que saldrá inmediatamente después; cualquier variable que establezca dejará de existir tan pronto como salga. Es por esto que tenemos que usar el comando de origen.

Como alternativa, puedes establecer las variables de entorno necesarias directamente en tu script.

Espero que esto ayude!

    
respondido por el JakeRobb 21.02.2014 - 16:42

Lea otras preguntas en las etiquetas