In breve: su un Mac con un'installazione pulita di Yosemite, fare doppio clic su un pacchetto di applicazioni in stile Java compilato .app non riesce a lanciare l'app, a meno che non sia installato Java 6 di Apple, anche se la versione corrente di Java per Mac da Oracle è installato.
Alla fine: quando Apple ha sviluppato l'SDK Java per macosx, è possibile aprire un pacchetto di applicazioni in stile mac scritto in Java facendo doppio clic sull'icona nel Finder, l'icona dell'app verrà visualizzata nel dock mentre era in esecuzione, e le sue voci di menu vivrebbero nella barra dei menu di Mac OS. Le app Java si sono comportate quasi come le app Mac native.
D'altro canto, se si installa l'SDK Java corrente da Oracle, è possibile eseguire l'applicazione Java con java -jar YourApp.app/Contents/Resources/Java/yourapp.jar
, ma si ottiene un'icona di dock generica, le voci del menu si trovano nella parte superiore della finestra anziché nella barra dei menu .
E se non hai Java 6 installato da Apple sul computer, che non è incluso nelle versioni recenti del sistema operativo ma è ancora disponibile per il download da Apple all'indirizzo questa posizione (ma non è aggiornato a questo punto), viene visualizzato un messaggio di errore:" Per aprire YourApp.app devi installare il legacy Java SE 6 runtime ". con un collegamento all'implementazione obsoleta di Apple, anche se hai già installato Java 8 di Oracle.
SuunMacconJava8diOracleinstallato,manonsuJava6diApple,c'èunmodoperaprireun'appJavadalfinderomantenerequestealtrecompatibilitàconlapiattaformanativa?C'èunmodoperforzareunpacchetto.appperutilizzarel'installazioneJavapreferita?
Fondamentalmentestofacendolastessadomandadi
Anche questa domanda potrebbe essere rilevante: L'applicazione utilizza Java 6 da Apple invece di Java 7 da Oracle su Mac OS X?
Alle domande Esegui java in bundle in .app da riga di comando e Perché Java SE 6 Legacy è necessario per aprire Intellij? , si consiglia di forzare il pacchetto Java .app per utilizzare una versione più recente di Java se si cambia JVMVersion in YourApp.app/ Contenuto / Info.plist, ma questo non ha funzionato per me. Queste risposte provengono dall'era di Java 1.7, forse è obsoleto?