Apri pacchetti di applicazioni Java .app con doppio clic su un Mac senza Java 6 di Apple

2

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 Per aprire" Eclipse "è necessario installare il runtime Java SE 6 precedente . Esiste una soluzione a questo problema oltre all'installazione di Java 6 legacy?

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?

    
posta ziggurism 17.04.2015 - 07:21
fonte

1 risposta

1

Dalle risposte a una domanda che ho chiesto sulla lista java-dev di Apple sembrerebbe che su un Mac con Java 8 installato da Oracle, ma non su Java 6 di Apple, non ci sia un modo attuale per aprire un pacchetto di applicazioni Java che era creato utilizzando la vecchia tecnologia di bundle jar di Apple. Sospetto che ciò sia dovuto al fatto che JavaApplicationStub è stato scritto per aspettarsi che alcuni aspetti di Java di Apple non siano presenti in Java di Oracle.

Dal punto di vista dell'utente, l'unica cosa da fare sembra essere quella di scaricare e installare Java 6 dal link finché è ancora disponibile.

Dal punto di vista dello sviluppatore, la scommessa più sicura sarebbe quella di incorporare Java nel proprio bundle di applicazioni utilizzando uno strumento come jwrapper (www.jwrapper.com). In alternativa ci possono essere strumenti per creare un pacchetto che verrà eseguito con Oracle 8 + di Java.

    
risposta data 17.04.2015 - 16:47
fonte

Leggi altre domande sui tag