2 votos

No se puede crear un ejecutable .app que funcione con Platypus

Soy nuevo en OS X y estoy intentando crear un wrapper de aplicación para un shell script que inicie un servidor multimedia(Red5)

Estoy tratando de envolver el arranque del servidor Red5 script ( red5.sh ) en un .app ejecutable utilizando Ornitorrinco .

El Documentación sobre el ornitorrinco dice que

Puede añadir una lista de archivos a copiar en la carpeta Resources de su paquete de aplicaciones. Estos archivos pueden ser utilizados por su script. El directorio de trabajo actual por defecto de su script será esta carpeta por lo que debería poder acceder a ellos directamente desde su carpeta script.

Cuando se ejecuta normalmente desde el terminal (está usando ./red5.sh ) el servidor arranca bien, pero cuando creo el .app (después de haber establecido el CWD del script en el campo "Files to be bundled" de Platypus, el .app no se ejecuta cuando se hace doble clic sobre él.

Da el siguiente error

Error: Could not find or load main class

No estoy seguro de lo que estoy haciendo mal, pero creo que es algo que tiene que ver con la agrupación del directorio correcto.

1voto

JakeRobb Puntos 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 han establecido, lo cual se debe a que la instancia de Bash (o cualquier shell que se utilice) no se inicia como un shell de inicio de sesión O un shell interactivo, por lo que su perfil script (por ejemplo. ~/.profile , ~/.bashrc etc.) no se ejecuta automáticamente.

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

source ~/.profile

El source hace que los comandos en ~/.profile para que se ejecute en el shell actual; de esta manera, las variables de entorno establecidas por ese script estarán disponibles para la instancia de Bash que inicie platypus.

Tenga en cuenta que es importante que no ejecute el archivo de perfil como un shell script en sí mismo; eso hará que se ejecute en su propio shell, que saldrá inmediatamente después; cualquier variable que establezca dejará de existir tan pronto como salga. Por eso tenemos que usar el comando source.

Como alternativa, puede establecer las variables de entorno necesarias directamente en su script.

Espero que esto ayude.

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