Domanda Come installare OpenJDK 8 su 14.04 LTS?


(8-08-2017: Domanda pulita e riepilogata in una nuova risposta)

Java 8 è ora disponibile secondo http://openjdk.java.net/projects/jdk8/, ma http://openjdk.java.net/install/ non menziona ancora come installare OpenJDK 8 (non Oracle Java) sul supporto a lungo termine di Ubuntu 14.04. (Per 14.10 e versioni successive, esegui apt-get install openjdk-8-jdk)

Come e quando può essere fatto?

(Per ora useremo Oracle Java - la soluzione ottimale per me è, comunque, OpenJDK dai repository di Ubuntu, fino a quando Oracle Java non sarà disponibile direttamente e senza sforzo dai repository di Ubuntu)



283
2018-05-12 11:00


origine


Hai bisogno di compilarlo da solo. Ecco come: github.com/hgomez/obuildfactory/wiki/... Cambia il nome del file per abbinare la versione 8 ;-) - Rinzwind
Azul ha iniziato a fornire build OpenJDK sotto il nome "Zulu" che può essere scaricato, decompresso e utilizzato automaticamente. (Guadagnano i loro soldi dal supporto). azulsystems.com/products/zulu/downloads - Thorbjørn Ravn Andersen
In particolare, lo stesso ppa su cui apt-fast for trusty è ospitato, ppa:saiarcot895/myppa, ha una versione di openjdk-8 che funziona. alzata di spalle - ThorSummoner
Con il passare del tempo, sembra che la soluzione più semplice sia semplicemente l'opzione di 16.04 LTS quando disponibile. - Thorbjørn Ravn Andersen
E openjdk-9-jdk è in 16.04 LTS :) (probabilmente solo un segnaposto) - Thorbjørn Ravn Andersen


risposte:


Puoi farlo per;

Aggiornamento finale

JDK

sudo apt-get install openjdk-8-jdk

JRE

sudo apt-get install openjdk-8-jre

Vecchio aggiornamento

Ho trovato due repository ma non lo consiglio

  • Build OpenJDK (tutti gli arch)

    ppa:openjdk-r/ppa
    
  • OpenJDK 8 backport per fidato

    ppa:jochenkemnade/openjdk-8
    

messaggio originale

Se vuoi davvero usare OpenJDK, devi compilare dalla fonte. Non c'è ancora alcun PPA per OpenJDK.

È stato richiesto a https://bugs.launchpad.net/ubuntu/+bug/1297065

Ti consiglio di usare Webup8 Oracle Java8 Installer

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer

Per impostare automaticamente le variabili di ambiente Java 8

sudo apt-get install oracle-java8-set-default

Controllalo

java -version

Quindi devi aspettare per usare OpenJDK8


259
2018-05-12 16:49



@ JohnMerlino la mia ipotesi sarebbe che il PPA consente aggiornamenti automatici quando vengono rilasciate nuove versioni. - Thorbjørn Ravn Andersen
openjdk-8 è ora in Utopic. bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1341628 è stato aumentato a backport a 14.04 come è LTS: - Thorbjørn Ravn Andersen
Perché la nuova modifica? Sembra di non essere ancora nel repository 14.04 ancora e sudo apt-get install openjdk-8-jdk non funziona almeno per me. - xji
A partire dal 2016-01-11 i PPA di Ubuntu non ufficiali sono ancora necessari, in quanto OpenJDK 8 non è ancora arrivato nei backport. Non ritengo che questa sia una risposta alla mia domanda, anche se sembra che gli altri lo facciano. - Thorbjørn Ravn Andersen
Questa risposta è altamente fuorviante a causa dell'essere incompleta, dice che non consiglia il PPA menzionato, ma non funzionerà senza di esso. - Reinier Post


sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac

166
2017-08-27 15:25



Questo repository è datato; ad oggi l'ultima release 1.8 di openjdk è 66. La versione disponibile in questo repository è 45. - mattm
Impossibile recuperare ppa.launchpad.net/openjdk-r/ppa/ubuntu/pool/main/o/openjdk-8/...  502 apt-cacher: errore di libcurl: errore durante la ricezione di dati dal peer - Rajesh Hatwar
Questi sono i passaggi minimi corretti. 4 e 5 sono opzionali e probabilmente non richiesti. - Air
Non funziona per Ubuntu 14.04 E: Package 'openjdk-8-jdk' has no installation candidate - Naive
Questo ha funzionato per me durante l'aggiornamento di Jenkins (la versione più recente richiedeva Java8, il mio sistema aveva solo Java7 installato). Da notare, la quarta linea è stata fondamentale per convincere Jenkins a comportarsi correttamente; fino a quando l'ho eseguito, ho continuato a ottenere Jenkins requires Java8 or later, but you are running 1.7.0_121-b00 from /usr/lib/jvm/java-7-openjdk-amd64/jre. Avere un upvote ... Ti darei di più se potessi. - Doktor J


OpenJDK 8 è stato rilasciato a marzo 2014. Al momento di questa domanda, non ci sono pacchetti OpenJDK 8 nei repository ufficiali di Ubuntu per nessuna versione di Ubuntu. Loro "saranno presto disponibili", come il Pagina del progetto JDK 8 dice, per una definizione di presto.

Per prima cosa, i pacchetti OpenJDK 8 arriveranno nella versione di sviluppo di Ubuntu. Questo può accadere durante il ciclo di sviluppo 14.10, ma non c'è un programma definito per quanto ne so. Alcuni pacchetti di anteprima sono stati creati e sono disponibili per il test, vedere l'annuncio sul debian-java e Ubuntu OpenJDK mailing list. Ad un certo punto questi pacchetti verranno caricati negli archivi di sviluppo Debian e Ubuntu.

Una volta che OpenJDK 8 è nella versione di sviluppo di Ubuntu, allora potrebbe essere possibile richiederne il backport alla 14.04. Si noti che non sarà mai disponibile nel primario trusty repository, ma se usi trusty-backports allora può essere installabile da lì ad un certo punto. Leggi informazioni sulla procedura per richiedere i backport in Ubuntu Qui.


62
2018-05-13 12:52



Ho cercato di rispondere alla tua domanda "come e quando" con i vincoli che sembri volere: deve provenire da repository ufficiali, deve essere OpenJDK e deve essere la versione 14.04 LTS. - Mike Miller
Il suo febbraio 2016 e Java 8 non è ancora disponibile su Ubuntu 14.04 LTS. Questo è deludente. - Bhavin Doshi
È aprile 2016, ancora non java 8 ... - Stephan Henningsen
Ubuntu 16.04 uscirà ad aprile 2016, lo sarà OpenJDK 8. - Mike Miller
È settembre 2016 e Ubuntu 14.04 LTS sarà ancora supportato fino al 2019 ... e molti posti impiegheranno molto tempo per adottare la versione 16.04 a causa di modifiche su larga scala (es. Systemd), quindi è ancora deludente java 8 non è facile installa tramite apt il 14.04 :( - geerlingguy


Nota - Funzionerà solo con 14.10 o successivo:

1 anno di ritardo, ma come oggi funziona come previsto con apt-get.

Per installare JDK:

$ sudo apt-get install openjdk-8-jdk

Per installare JRE:

$ sudo apt-get install openjdk-8-jre

Come impostare il JDK predefinito

Il modo più veloce

Correre $ sudo update-alternatives --config java e inserire il numero per il quale JDK utilizzare di propria scelta.

Seconda via

Elencare i JDK disponibili:

$ update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

Ora, per copiare e incollare il percorso di Open JDK 8 in modo che corrisponda al seguente comando:

$ sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64

33
2018-04-17 19:04



Vedo ancora solo JDKs 6 e 7, nessun openjdk-8-jdk su Linux 14.04, dopo sudo apt-get update. Hai aggiunto qualche repository speciale? Ho abilitato i trusty-backports. - akauppi
Penso che tu stia utilizzando il 14.10 o il 15.04, vero? - akauppi
Non riesco a riprodurre su 14.04 LTS. Si prega di confermare questa è la versione. - Thorbjørn Ravn Andersen
@akauppi hai ragione !! Sto correndo 14.10. Ci scusiamo per l'inconveniente, dovrei rimuovere la mia risposta? - caraca
Non vorrei che fosse rimosso - per alcuni, usare 14.10 invece di 14.04 potrebbe essere un'ottima alternativa. - akauppi


Ecco cosa uso per configurare Oracle Java 7 e Java 8 [nota: non OpenJDK] da zero su Ubuntu 14.04 LTS:

apt-get -y -q update
apt-get -y -q upgrade
apt-get -y -q install software-properties-common htop
add-apt-repository ppa:webupd8team/java
apt-get -y -q update
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
apt-get -y -q install oracle-java8-installer
apt-get -y -q install oracle-java7-installer
update-java-alternatives -s java-8-oracle

Questo è incustodito ed è adatto per l'inclusione in un blocco di provisioning di Vagrant; Ho un succo con più dettagli: https://gist.github.com/tinkerware/cf0c47bb69bf42c2d740

EDIT: questo accetterà automaticamente la licenza di Oracle per il JDK; assicurati di stare bene prima di eseguirlo.


21
2018-01-16 01:35



Sembra buono. Ma manca la parte in cui ottieni l'accesso come root. Ancora bella risposta. - MadMike
Destra; Lo uso con Vagrant, che crea il vagrant utente con password sudo. - Cagatay
Questo è Oracolo Java, no OpenJDK Java di quale era la domanda. Si noti inoltre che le righe di eco circument la domanda di accettazione della licenza dal programma di installazione. - Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen Sì, ho notato che la domanda riguardava OpenJDK; Ho specificamente detto che il mio metodo è per l'installazione di Oracle Java. Si potrebbe obiettare che questo non è correlato, ma penso che ci sia un valore nel notare un'alternativa che ti dà ancora un runtime che può eseguire Java 7/8 su 14.04 LTS. La "circonvenzione" della domanda di accettazione della licenza è una scelta di parole interessante; Direi che si dovrebbe leggere la licenza Oracle prima di eseguire lo script, che automatizza l'accettazione durante l'installazione. - Cagatay
Grazie a @Cagatay !! questa risposta è stata molto utile per me, stavo cercando l'installazione di Java 8 usando Vagrant. - Sotsir


A partire dal 2017-08-08 ho scoperto che questa domanda e le sue risposte erano diventate un po 'travolgenti da scavare per comprendere il problema, quindi ho riassunto i risultati in questa risposta.

La risposta molto breve è quella OpenJDK 8 a partire dal 2017-08-08 non è ufficialmente disponibile per Ubuntu 14.04.

Ci sono tuttavia molte opzioni disponibili:

  • Passa a una versione più recente di Ubuntu. OpenJDK 8 è disponibile dal 14.10 in poi. (OpenJDK 9 dalla 16.04 LTS in poi, OpenJDK 11 dalla 18.04 LTS in poi)
  • Scarica e installa Oracle Java (non OpenJDK) da http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html manualmente come file tar.gz che deve solo essere decompresso e avere la licenza accettata prima del bin directory può essere aggiunto al tuo $PATH variabile. Potresti anche scegliere di utilizzare un PPA di terze parti. Si noti che Oracle Java sembra essere solo per i clienti paganti nel futuro prevedibile (attorno a Java 11).
  • Scarica OpenJDK 8 utilizzando un PPA di terze parti.
  • Scarica una build certificata Azul di OpenJDK 8 da http://www.azul.com/downloads/zulu/zulu-linux/ (DEB)
  • Compilare la fonte e installarla da soli.

Vedi altre risposte per i dettagli.

Si noti che gli archivi di pacchi personali (PPA) sono generalmente realizzati da individui su base volontaria. I contenuti potrebbero non essere aggiornati o andare via senza preavviso.

Personalmente raccomanderei l'aggiornamento di Ubuntu a 18.04 LTS, o se non fosse possibile scaricare una build di Azul.


Nota: se hai ancora bisogno di OpenJDK 8 backported alla 14.04, vota per questo bug accedendo e facendo clic su "Ti interessa" in alto: https://bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1368094


11
2017-08-08 15:23





Nota Dal 22 aprile 2016 i pacchetti per Vivid sono stati rimossi, purtroppo. Novità in packages.ubuntu.com: "Rifletti la versione xenial, aggiungi yakkety, rimuovi vivido". La soluzione alternativa di questa risposta è intelligente ma non più applicabile nella situazione attuale. A partire dal 6 gennaio 2017 non è disponibile il backport per java 8 su trusty packages.ubuntu.com/trusty-backports/java. Si prega di modificare le modifiche si applicano.


Vedi la risposta dal sito ufficiale di Android

https://source.android.com/source/initializing.html 

Non sono disponibili pacchetti OpenJDK 8 supportati per Ubuntu 14.04. I pacchetti OpenJDK 8 di Ubuntu 15.04 sono stati usati con successo con Ubuntu 14.04. Le versioni più recenti dei pacchetti (ad esempio quelle per 15.10, 16.04) sono state trovate non funzionare su 14.04 utilizzando le istruzioni di seguito.

Scarica i pacchetti .deb per la tua architettura http://packages.ubuntu.com/vivid/openjdk-8-jdk:
    openjdk-8-jre-headless
openjdk-8-jre
    openjdk-8-jdk

Ricorda, puoi ottenere l'architettura per la tua macchina con:

$ uname -m    

x86_64 rappresenta un'architettura di kernel Linux a 64 bit (amd64) e i386 / i486 / i586 / i686 rappresenta il sistema a 32 bit (i386).

Facoltativamente, conferma i checksum dei file scaricati utilizzando le informazioni trovate su http://packages.ubuntu.com/vivid/openjdk-8-jdk.

Ad esempio con lo strumento sha256sum:

$ sha256sum {package file}    

Installa i pacchetti:

$ sudo apt-get update    

Esegui dpkg per ciascuno dei file .deb che hai scaricato. Può produrre errori a causa di dipendenze mancanti:

$ sudo dpkg -i {downloaded.deb file}    

Per correggere dipendenze mancanti:

$ sudo apt-get -f install    

5
2018-02-25 00:53





Ho appena votato Qui e ora siamo 733 persone che ci preoccupiamo del backporting di openjdk-8 su ubuntu-14.04.

ho trovato questo repository PPA è abbastanza aggiornato

 e spero promettendo !?

e ha funzionato per me. Ho avuto successo con l'installazione di openjdk-8-jdk su ubuntu-14.04 con i seguenti comandi:

sudo add-apt-repository ppa:jonathonf/openjdk
sudo apt-get update
sudo apt-get install openjdk-8-jdk 

e qui è il mio java -version produzione:

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~14.04.york0-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

e qui è il mio uname -a produzione:

Linux mars1 4.4.0-75-generic #96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

e qui è il mio lsb_release -a produzione:

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty

Il mio virtual-host-server-provider mi sta dicendo che forniscono solo il supporto per Ubuntu-14.04 e immagino che continueranno così fino al 2019! quindi per favore fatemi sapere se conoscete un modo migliore per avere openjdk-8 su ubuntu-14.04?

Grazie!


4
2018-05-09 20:09



Consiglierei di usare Azul Zulu. azul.com/downloads/zulu - Thorbjørn Ravn Andersen
Ho anche dovuto eseguire quanto segue per farlo funzionare: sudo update-java-alternatives --jre --set java-1.8.0-openjdk-amd64 e sudo update-java-alternatives --jre-headless --set java-1.8.0-openjdk-amd64 - champost


Il gestore di pacchetti Nix mantiene anche pacchetti binari di OpenJDK 8 per Ubuntu, il che significa che è possibile ottenere un compilatore Java 8 funzionante in meno di cinque minuti dall'inizio alla fine (con una connessione internet veloce, ovviamente).

I passaggi sono:

  1. Installa il gestore pacchetti Nix (https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/): $ bash <(curl https://nixos.org/nix/install)

  2. Esegui la shell one-liner che Nix ti dirà alla fine dell'installazione: $ . ~/.nix-profile/etc/profile.d/nix.sh

  3. Installa il pacchetto OpenJDK Nix: $ nix-env -i openjdk

  4. Dai un'occhiata javac: $ javac -version

Questo è tutto. Oh, e vorresti assicurarti di inserire l'one-liner del secondo passaggio nella tua ~/.bashrc. Questo dirà a Nix di collegare correttamente i pacchetti installati (poiché mantiene i file effettivi nelle directory non standard).


2
2017-10-10 03:27



Per curiosità: perché vorresti un pacchetto aggiuntivo oltre a apt-get? - Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen - la ragione specifica è di ottenere rapidamente OpenJDK 8 con dolore minimo, e la ragione generale è che Nix è un miglioramento rivoluzionario rispetto a apt-get e ad altri gestori di pacchetti più vecchi. - Yawar
Sto chiedendo nel caso generale - non specificamente per OpenJDK. Devono esserci ragioni molto pesanti per l'introduzione di un nuovo gestore di pacchetti che prevalga sull'utilizzo dell'ecosistema esistente, cosa che ho difficoltà a vedere. - Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen: ci sono ottime ragioni per raccomandare Nix nel caso generale. Come ho detto, è un miglioramento rivoluzionario. Sulla scala di git su svn. Check-out infoq.com/articles/configuration-management-with-nix per più. - Yawar