Come posso far funzionare l'ambiente di runtime Java 11 poiché non c'è più JRE 11 per il download?


Java 11 non viene fornito con un JRE per il download, a differenza delle versioni precedenti di Java. Ho ricevuto un errore "nessun ambiente di runtime java" durante l'esecuzione di alcuni software basati su Java. Per risolvere il problema, ho dovuto installare Java 8 JRE.

Come posso ottenere il mio PC per eseguire Java 11 JRE dato che non c'è più JRE 11 da scaricare?

Sto usando Windows 10.

Author: Peter Mortensen, 2018-11-02

3 answers

In questo momento, sembra che non ci siano opzioni Java 11 JRE (solo) supportate da Oracle + easy. Le tue opzioni sono:

  1. Scaricare e utilizzare un OpenJDK Java 11 JDK dal sito OpenJDK.
  2. Scaricare e utilizzare un Oracle Java 11 JDK dal sito Oracle ... e assicurati di comprendere appieno le restrizioni sull '"uso commerciale" che ora si applicano alle versioni di Oracle Java 11+.
  3. Prova a lanciare il tuo Windows JRE per Windows dai sorgenti OpenJDK; vedi Crea jre da Aprire finestre JDK .
  4. Cerca di utilizzare il nuovo strumento jlink per creare un'immagine personalizzata (fondamentalmente un JRE tagliato) per la tua applicazione. Questa sembra essere l'opzione che Oracle desidera utilizzare gli sviluppatori di applicazioni di terze parti.
  5. Parla con Oracle sales di un contratto di supporto Java e chiedi in particolare come ottenere una build JRE. ( Non lo so quale sarà la risposta. Se qualcuno prova questo, e ottengono una risposta positiva, si prega di commentare!)
  6. Utilizzare un distribuzione Java JRE di terze parti. (L'elenco dei fornitori cambia nel tempo, ma a partire da ora include AdoptOpenJDK, Amazon, Azul, BellSoft, IBM, jClarity, Red Hat e SAP. Alcuni di loro offrono un JRE.)

(O passare da Windows a Linux. Posso installare un pacchetto OpenJDK Java 11 JRE dal gestore di pacchetti distro sulle ultime versioni di Ubuntu, Fedora,...)


Per coloro che pensano che Oracle Java 11 e OpenJDK Java 11 siano uguali, leggere quanto segue dal sito di download Oracle:

Modifiche importanti nella licenza Oracle JDK 11

Con JDK 11 Oracle ha aggiornato i termini di licenza su cui offriamo Oracle JDK. Il nuovo Oracle Technology Network License Agreement per Oracle Java SE è sostanzialmente diverso dalle licenze con cui sono state offerte le versioni precedenti del JDK. Si prega di leggere attentamente i nuovi termini prima di scaricare e utilizzare questo prodotto.

Oracle offre anche questo software sotto la licenza GPL su jdk.java.net/11

Si noti che Oracle sta dicendo che le licenze per Oracle Java e OpenJDK Java sono diverse. (Non sopportando che i due siano costruiti essenzialmente dalla stessa base di codice sorgente. Ignoralo a tuo rischio e pericolo!

 55
Author: Stephen C, 2020-06-20 09:12:55

La risposta di Stephen C è corretta e importante.

Oracle non intende più che gli utenti finali installino un JRE o un JDK. Le applet Java in un browser e Java Web Start app delivery vengono entrambe eliminate gradualmente, lasciando all'utente finale la necessità di un JRE. Le app basate su Java dovrebbero raggruppare la propria implementazione Java. Le uniche persone che installano consapevolmente un JDK saranno sviluppatori e lato server amministratori di sistema.

Importante:

Ulteriori informazioni su:

Ora ci si aspetta che le app desktop raggruppino il proprio runtime Java. Gli strumenti sopra elencati possono creare un runtime molto piccolo adatto alla tua particolare app.

Ecco un diagramma di flusso che può aiutarti a trovare e decidere tra i vari fornitori che forniscono un'implementazione Java 11.

Diagramma di flusso che ti guida nella scelta di un fornitore per un'implementazione Java 11.png


E una tabella mappatura possibili motivazioni o considerazioni che portano a fornitori suggeriti di Java.

Motivazioni nella scelta di un fornitore per Java

Problemi di compatibilità

Nei commenti, è stata sollevata una domanda, preoccupazione per problemi di compatibilità tra le versioni di vari fornitori.

In primo luogo, sappiate che il progetto OpenJDK include una vasta suite di test noti come OpenJDK Community Technology Compatibility Kit (TCK) . I venditori sono liberi di auto-dichiarare se il loro rilascio è passato quei test. Queste affermazioni non sono verificate e si basano sul sistema honor. Sul mio diagramma sopra, ho contrassegnato il segno di spunta "TCK" sui due venditori che conosco si sono auto-dichiarati: Oracle JDK di Oracle e Zulu di Azul Systems.

Tutti i prodotti elencati nell'area blue barrel del mio grafico sopra sono costruiti quasi direttamente sul codice sorgente OpenJDK. Quindi, in generale, dovresti vedere la compatibilità praticamente identica.

Ci sono due aree di preoccupazione che potresti considerare: le differenze tecnologiche e programma di aggiornamenti / patch.

Per quanto riguarda le differenze tecnologiche, i fornitori che utilizzano il progetto OpenJDK possono spedire con HotSpot engineo OpenJ9 engine. Questi differiranno in termini di prestazioni (avvio più veloce/più lento rispetto alla velocità complessiva, più/meno memoria), ma il loro comportamento in termini di conformità con le specifiche Java dovrebbe essere identico. Essi potrebbero differire, e certamente potrebbero presentare un difetto (che probabilmente sarebbe presto risolto) che l'altro mancare. Personalmente, non mi preoccuperei di questo, ma lo menziono per completezza.

Un'altra differenza tecnologica è il diverso tipo di JVM utilizzato da Zing da Azul Systems e GraalVM da Oracle. Uno di questi potrebbe differire in qualche modo l'uno dall'altro o dagli altri prodotti, perché hanno intenzionalmente un diverso tipo di implementazione JVM, per offrire funzionalità speciali. Ma data la completezza delle specifiche Java, non dovrebbero essere incompatibili. Se erano, ci si può aspettare qualsiasi problema di compatibilità da risolvere rapidamente. Se avessi bisogno delle caratteristiche speciali di uno di questi prodotti, li userei con piena fiducia.

Un'altra possibile preoccupazione è la velocità con cui un fornitore potrebbe aggiornare le proprie versioni con alcune correzioni di bug o patch di sicurezza. Ad esempio, Oracle ha dichiarato che si riserva il diritto di spedire immediatamente eventuali patch pronte ai propri clienti, mentre invia quelle al progetto OpenJDK per considerazione. Certamente, uno qualsiasi dei fornitori che forniscono supporto commerciale sono suscettibili di correre una correzione o patch per i loro clienti paganti. Quelle versioni costruite come cortesia alla comunità fornite gratuitamente potrebbero richiedere più tempo per l'aggiornamento, probabilmente dopo che il progetto OpenJDK ha incorporato una correzione/patch.

E ogni fornitore è libero di modificare la propria base di codice a piacimento, purché siano conformi alle specifiche Java. Ad esempio, il team Corretto di Amazon ha già apportato miglioramenti a e poi condiviso quelle modifiche a monte del progetto OpenJDK. Potrebbe esserci un intervallo di tempo prima che OpenJDK incorporasse tali modifiche, se decidessero di farlo. Quindi è possibile che varie versioni possano differire. Ma a questo punto, tutti i fornitori della comunità Java sembrano avere sinceri impegni a lavorare insieme per prevenire la frammentazione. Quindi, ancora una volta, non ho alcuna reale preoccupazione qui, ma menzionalo per completezza.

 54
Author: Basil Bourque, 2021-01-22 16:59:34

È possibile utilizzare il sito web del progetto" adoptopenjdk " per scaricare gli ultimi jre e JDK https://github.com/AdoptOpenJDK/openjdk-jdk11

Trova l'ultimo link qui > https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot

Modifica: Il problema è stato risolto

Ho usato le loro build notturne per risolvere il problema di JRE mancante nel pacchetto JDK https://adoptopenjdk.net/nightly.html?variant=openjdk11

 5
Author: matson kepson, 2019-04-20 15:20:27