Oracle Java 17 LTS è stato rilasciato di recente ed è ora disponibile per l’installazione da Linux Uprising Oracle Java PPA su distribuzioni Ubuntu, Debian e Linux basate su queste, come Pop!_OS, Linux Mint, Zorin OS, ecc.
Java 17 è l’ultima versione di supporto a lungo termine (LTS) e con essa, la licenza è cambiata, i binari sono gratuiti (nessun costo) da utilizzare in produzione e liberi (nessun costo) da ridistribuire fino a un anno intero dopo la prossima versione LTS. In precedenza (da Oracle Java 11 fino ad ora), Oracle Java utilizzava una licenza commerciale che consentiva di scaricarlo e utilizzarlo gratuitamente solo per lo sviluppo e il test, ma richiedeva il pagamento di una tariffa per l’utilizzo in produzione.
Se preferisci utilizzare build JDK open source, dai un’occhiata a quelle offerte da AdoptOpenJDK o Zulu OpenJDK.
Vorrei notare che anche se Oracle Java 17 può essere ridistribuito, i termini PPA di Launchpad non sembrano consentire di inserirlo in un PPA a causa della sua licenza. Quindi Linux Uprising Oracle Java PPA continua a utilizzare uno script che scarica automaticamente Oracle Java (i binari non sono ospitati nel PPA Launchpad).
Questo programma di installazione di Oracle Java 17 è basato sul pacchetto Java Web Upd8 (quindi i crediti vanno ai suoi creatori originali), con piccole modifiche. Questo pacchetto scarica, installa automaticamente (con alcune modifiche come una migliore resa dei caratteri, aggiungi voci di menu delle applicazioni, ecc.) e facoltativamente imposta Oracle Java 17 come Java predefinito (esegue alternative di aggiornamento, esporta la variabile di ambiente JAVA_HOME, ecc.) su il tuo sistema.
Oracle offre pacchetti DEB per Oracle Java, tuttavia, questi pacchetti copiano semplicemente i binari Java in /usr/lib/jvm
, senza fare nient’altro, quindi è esattamente come copiare la directory Java in quella posizione da soli.
Utilizzando questo PPA è possibile installare Oracle Java 17 per architetture x64 e aarch64.
Potrebbe interessarti anche: Come installare/passare tra più versioni Java utilizzando SDKMAN
Come installare Oracle JDK 17 su Ubuntu, Debian, Linux Mint, Pop!_OS o Zorin Os utilizzando un repository PPA APT
Aggiungi il repository PPA Java di Linux Uprising Oracle e aggiorna i sorgenti del software su Ubuntu, Linux Mint, Pop!_OS o Zorin Os utilizzando i seguenti comandi:
sudo add-apt-repository ppa:linuxuprising/java
sudo apt update
Aggiungi il repository PPA Java di Linux Uprising Oracle (e la sua chiave) e aggiorna le sorgenti software su Debian e altre distribuzioni Linux basate su Debian (ma non basate su Ubuntu e Ubuntu) utilizzando:
su -
echo "deb http://ppa.launchpad.net/linuxuprising/java/ubuntu focal main" | tee /etc/apt/sources.list.d/linuxuprising-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 73C3DB2A
apt-get update
exit
Ora puoi installare Oracle JDK 17 su distribuzioni Debian / Ubuntu e Linux basate su questi:
- Installa e imposta Oracle JDK 17 come versione JDK predefinita:
sudo apt install oracle-java17-installer --install-recommends
- Installa ma non rendere Oracle JDK 17 la versione JDK predefinita:
sudo apt install oracle-java17-installer --no-install-recommends
Puoi controllare se Oracle JDK 17 è la versione JDK predefinita (esegue alternative di aggiornamento, esporta la variabile di ambiente JAVA_HOME, ecc.) o nota con l’aiuto del oracle-java17-set-default
pacchetto. Se è installato, Oracle JDK 17 è impostato come predefinito; rimuovere questo pacchetto, quindi Oracle Java 17 non è impostato come predefinito (a meno che non sia l’unica versione Java sul sistema).
Questo pacchetto è impostato come pacchetto consigliato per il programma di installazione di Oracle Java 17, ecco perché installarlo oracle-java17-installer
insieme a --install-recommends
installa anche oracle-java17-set-default
.
Per verificare quale versione di Java è impostata come predefinita sul tuo sistema, puoi eseguire java -version
e/o javac -version
. Esempio con output che mostra Oracle Java 17 impostato come predefinito:
$ java -version
java version "17" 2021-09-14 LTS
Java(TM) SE Runtime Environment (build 17+35-LTS-2724)Java HotSpot(TM) 64-Bit Server VM (build 17+35-LTS-2724, mixed mode, sharing)
$ javac -version
javac 17
In alcuni casi, il programma di installazione potrebbe non riuscire a scaricare l’archivio Oracle Java 17 .tar.gz da Oracle. Ci sono diversi possibili problemi per questo: sei dietro un router/firewall che lo impedisce, la tua connessione a Internet si è interrotta durante il processo di download, ecc.
Per ovviare a questo problema, puoi scaricare questo file da Oracle in altri modi, ad esempio andando a casa di un amico, utilizzando un browser Web con un proxy, ecc., e quindi inserendo il file Oracle Java 17 .tar.gz scaricato in /var/cache/oracle-jdk17-installer
(crea questa cartella come root se non esiste), quindi installa il oracle-java17-installer
pacchetto dal Linux Uprising PPA come spiegato sopra.
In questo modo, il programma di installazione di Oracle Java 17 utilizza l’archivio locale invece di provare a scaricarlo da solo. Assicurati che Oracle Java 17 .tar.gz scaricato e il pacchetto Oracle Java Installer dal PPA siano entrambi la stessa versione, altrimenti non funzionerà.
Come accettare automaticamente la licenza Oracle Java 17
Il download e l’installazione di Oracle Java 17 richiedono che l’utente accetti una licenza. In alcuni casi, come quando si utilizza questo in uno script automatico, potresti voler accettare automaticamente la licenza utilizzando un comando. Puoi farlo usando:
echo oracle-java17-installer shared/accepted-oracle-license-v1-3 select true | sudo /usr/bin/debconf-set-selections
Se non funziona, prova anche questo comando:
echo oracle-java17-installer shared/accepted-oracle-licence-v1-3 boolean true | sudo /usr/bin/debconf-set-selections