En resumen: en un mac con una instalación limpia de Yosemite, al hacer doble clic en un paquete de aplicaciones Java de estilo mac no se lanza la aplicación, a menos que se instale Java 6 de Apple, incluso si se instala la versión actual de Java para Mac de Oracle.
En profundidad: Cuando Apple desarrolló el SDK de Java para macosx, podías abrir un paquete de aplicaciones de estilo mac escrito en Java haciendo doble clic en su icono en el Finder, su icono de aplicación aparecería en tu dock mientras se ejecutaba, y sus elementos de menú vivirían en la barra de menú de Mac OS. Las aplicaciones Java se comportaban casi como las aplicaciones nativas de Mac.
Por otro lado, si instalas el actual SDK de Java de Oracle, puedes ejecutar tu aplicación Java con java -jar YourApp.app/Contents/Resources/Java/yourapp.jar
Pero tienes un icono de dock genérico, tus elementos de menú viven en la parte superior de la ventana en lugar de la barra de menús.
Y si no tiene Java 6 de Apple instalado en la máquina, que no está incluido en las versiones recientes del sistema operativo, pero que todavía se puede descargar de Apple en este lugar (pero está bastante desactualizado en este momento), entonces sólo se obtiene un diálogo de mensaje de error: "Para abrir YourApp.app necesitas instalar el runtime Java SE 6 heredado" con un enlace a la implementación anticuada de Apple, aunque ya tengas instalado el Java 8 de Oracle.
En un Mac con Java 8 de Oracle instalado, pero no con Java 6 de Apple, ¿hay alguna forma de abrir una aplicación Java desde el finder, o de conservar estas otras compatibilidades de la plataforma nativa? ¿Existe una manera de forzar un paquete de aplicaciones para utilizar su instalación de Java preferida?
Básicamente estoy haciendo la misma pregunta que Para abrir "Eclipse" es necesario instalar el tiempo de ejecución de Java SE 6 heredado . ¿Hay alguna solución a este problema que no sea la instalación de Java 6 heredado?
También esta pregunta puede ser relevante: ¿La aplicación utiliza Java 6 de Apple en lugar de Java 7 de Oracle en Mac OS X?
En las preguntas Ejecutar java incluido en .app desde la línea de comandos y ¿Por qué es necesario Java SE 6 Legacy para abrir Intellij? En el caso de la versión 1.7 de Java, se sugiere que se puede forzar el uso de una versión más reciente de Java en el paquete de aplicaciones si se cambia la JVMVersion en YourApp.app/Contents/Info.plist, pero esto no me ha funcionado. Esas respuestas son de la era de Java 1.7, ¿tal vez esté desactualizada?