Sono responsabile di un'applicazione Java distribuita su più piattaforme incluso OS X. Con le versioni recenti dell'applicazione distribuiamo due bundle separati per OS X, uno che utilizza JavaApplicationStub fornito da Apple e un altro che include un pacchetto JDK 7 e utilizza un launcher prodotto in-house (una modifica del JavaAppLauncher di Oracle).In che modo Mac OS X determina che un'applicazione ha bisogno di Java?
Il problema è che, con quest'ultimo pacchetto, Mac OS X insiste ancora sul fatto che Java 6 sia installato se si tenta di eseguire l'applicazione. Nello specifico il messaggio dice:
"Per aprire (applicazione), è necessario un runtime di Java SE 6. Volete installarne uno ora?"
Se non si installa Java SE 6, non è possibile eseguire l'applicazione, nonostante JDK 7 sia in bundle (e, se si installa Java 6, viene comunque eseguito con Java 7 in dotazione).
Quello che sto cercando di capire è come OS X decide che l'applicazione richiede Java? Ho provato a rinominare il dizionario 'Java' nel file Info.plist e rinominare la sottocartella Java all'interno della cartella Risorse, senza successo. Qualcuno ha qualche idea? Sicuramente è possibile avere un'applicazione con un JDK in bundle senza richiedere l'installazione di un JDK di sistema?
fa [questo] (http://stackoverflow.com/questions/14806709/application-is-using-java-6-from-apple-instead-of-java-7-from-oracle-on-mac- os-x) aiuto in qualche modo? – Gamb
* "un altro che include un JDK 7 in dotazione" * DYM JRE 7? –
Gamb, no. Non stiamo usando JavaAppLauncher da Apple. Il problema non è che sta funzionando con il JDK sbagliato, ma sta insistendo sul fatto che Java 6 sia installato. – davmac