¿El paquete OS X Java .app no puede abrir otras aplicaciones?

Escribí una aplicación Java SWT para OS X, la exporté como .jar y la incluí en .app. Todo funciona exactamente como se esperaba, excepto una parte crítica dentro de mi aplicación; Requiere abrir otras aplicaciones.

He intentadoRuntime.exec(); tanto comoProcessBuilder para hacer esto, llamando alopen comando en las otras aplicaciones que necesito para iniciar. Esto funciona perfectamente bien desde Eclipse o si ejecuto mi .jar exportado a través de la Terminal. Sin embargo, no funciona cuando se inicia haciendo doble clic en .app.

Me pregunto si esto es un error de mi parte, o una restricción de Java u OS X. Debido a que las aplicaciones de Mac están protegidas (por lo que entiendo), ¿podría ser esta la razón por la que se llamaopen desde dentro de una aplicación no hace nada?

He usado dos enfoques para abrir la aplicación que necesito. Es un juego de Steam, pero también viene como minorista, por lo que se puede lanzar a través de la aplicación en sí o usando elsteam:// protocolo. En mi código he intentado lo siguiente:

ProcessBuilder pb = new ProcessBuilder("open", "steam://rungameid/57300//");
pb.start();
ProcessBuilder pb = new ProcessBuilder("open", appDir);
pb.start();

appDir es una cadena que contiene una ruta al paquete .app que deseo comenzar.

¿Alguna idea de por qué esto falla desde un paquete de aplicaciones de Mac, pero funciona bien desde Eclipse / Jar? Ejecutar la aplicación con la consola (a través del script bash en el paquete) no devuelve ningún error, por lo que me parece que Java ejecuta bien el comando, pero que OS X tal vez lo ignora.

También intenté buscar en Google para esto, pero parece muy poco común o muy específico y no pude encontrar nada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta