¿Cómo determina Mac OS X que una aplicación necesita Java?

Soy responsable de una aplicación Java que se implementa en múltiples plataformas, incluido OS X. Con versiones recientes de la aplicación, distribuimos dos paquetes separados para OS X, uno que usa el JavaApplicationStub proporcionado por Apple, y otro que incluye un JDK 7 incluido. y utiliza un lanzador producido internamente (una modificación de JavaAppLauncher de Oracle).

El problema es que, con el último paquete, Mac OS X todavía insiste en que tengas instalado Java 6 si intentas ejecutar la aplicación. Específicamente el mensaje dice:

"Para abrir (la aplicación), necesita un tiempo de ejecución Java SE 6. ¿Desea instalar uno ahora?"

Si no instala Java SE 6, no podrá ejecutar la aplicación, a pesar del hecho de que JDK 7 está incluido (y, si instala Java 6, se ejecuta con el Java 7 incluido).

Lo que me cuesta entender es cómo OS X decide que la aplicación requiere Java. Intenté renombrar el diccionario 'Java' en el archivo Info.plist y renombrar la subcarpeta Java dentro de la carpeta Recursos, sin éxito. ¿Alguien tiene alguna idea? ¿Seguramente es posible ejecutar una aplicación con un JDK incluido sin requerir la instalación de un JDK del sistema?

Respuesta 1

A menudo, necesito fusionar dos objetos JSON (similar a la forma en que funciona $ .extend () de jQuery). Sin embargo, la biblioteca Gson no tiene una funcionalidad integrada y han dicho que no la implementarán. ...

He decidido probar y usar mybatis para un nuevo proyecto. Estoy bastante familiarizado con SQL, y recientemente he tenido algunas malas experiencias con la hibernación, así que estoy buscando un enfoque más de bajo nivel para DAO. ...

Estoy usando 4.1.0.Final de Maven central. En mi aplicación, desactivo la lectura automática después de cierto punto como este: channel.config (). SetIsAutoRead (false); No hago llamadas para leer, pero mi ...

Traté de crear una prueba en la que intenté forzar una condición de carrera (o al menos para aumentar la probabilidad de que ocurriera) y usé un CountDownLatch. El problema es que obtengo un java.lang ...