Ricerca nel sito web

Come installare Java con Apt su Ubuntu 18.04


L'autore ha selezionato il programma Write for DOnations.

introduzione

Java e JVM (la macchina virtuale di Java) sono necessari per molti tipi di software, incluso Jenkins.

In questa guida, installerai varie versioni di Java Runtime Environment (JRE) e Java Developer Kit (JDK) utilizzando apt. Installerai OpenJDK e il JDK ufficiale di Oracle. Seleziona quindi la versione che desideri utilizzare per i tuoi progetti. Al termine, sarai in grado di utilizzare JDK per sviluppare software o utilizzare Java Runtime per eseguire software.

Prerequisiti

Per seguire questo tutorial, avrai bisogno di:

  • Un server Ubuntu 18.04 configurato seguendo il tutorial della guida all'installazione iniziale del server Ubuntu 18.04, incluso un utente sudo non root e un firewall.

Installazione del JRE/JDK predefinito

L'opzione più semplice per l'installazione di Java è utilizzare la versione fornita con Ubuntu. Per impostazione predefinita, Ubuntu 18.04 include Open JDK 11, che è una variante open source di JRE e JDK.

Per installare questa versione, aggiornare prima l'indice del pacchetto:

  1. sudo apt update

Successivamente, controlla se Java è già installato:

  1. java -version

Se Java non è attualmente installato, vedrai il seguente output:

Output
Command 'java' not found, but can be installed with: sudo apt install default-jre sudo apt install openjdk-11-jre-headless sudo apt install openjdk-8-jre-headless

Esegui il seguente comando per installare Java Runtime Environment (JRE) predefinito, che installerà JRE da OpenJDK 11:

  1. sudo apt install default-jre

JRE ti consentirà di eseguire quasi tutto il software Java.

Verificare l'installazione con:

  1. java -version

Vedrai un output simile al seguente:

Output
openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.18.04) OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.18.04, mixed mode, sharing))

Potrebbe essere necessario il Java Development Kit (JDK) oltre al JRE per compilare ed eseguire alcuni software specifici basati su Java. Per installare JDK, eseguire il seguente comando, che installerà anche JRE:

  1. sudo apt install default-jdk

Verifica che JDK sia installato controllando la versione di javac, il compilatore Java:

  1. javac -version

Vedrai il seguente output:

Output
javac 11.0.11

Successivamente, diamo un'occhiata a come installare JDK e JRE ufficiali di Oracle.

Installazione di Oracle JDK 11

Il contratto di licenza di Oracle per Java non consente l'installazione automatica tramite gestori di pacchetti. Per installare Oracle JDK, che è la versione ufficiale distribuita da Oracle, devi creare un account Oracle e scaricare manualmente JDK per aggiungere un nuovo repository di pacchetti per la versione che desideri utilizzare. Quindi puoi usare apt per installarlo con l'aiuto di uno script di installazione di terze parti.

La versione di Oracle JDK che dovrai scaricare deve corrispondere alla versione dello script di installazione. Per scoprire di quale versione hai bisogno, visita la pagina oracle-java11-installer.

Individuare la confezione per Bionic, come mostrato nella figura seguente:

In questa immagine, la versione dello script è 11.0.7. In questo caso, avrai bisogno di Oracle JDK 11.0.7. Non è necessario scaricare nulla da questa pagina; a breve scaricherai lo script di installazione tramite apt.

Quindi visita la pagina Download e individua la versione che corrisponde a quella di cui hai bisogno.

Fai clic sul pulsante Download JDK e verrai indirizzato a una schermata che mostra le versioni disponibili. Fai clic sul pacchetto .tar.gz per Linux.

Ti verrà presentata una schermata che ti chiede di accettare il contratto di licenza Oracle. Selezionare la casella di controllo per accettare il contratto di licenza e premere il pulsante Download. Il tuo download inizierà. Potrebbe essere necessario accedere al tuo account Oracle ancora una volta prima che inizi il download.

Una volta scaricato il file, dovrai trasferirlo sul tuo server. Sulla tua macchina locale, carica il file sul tuo server. Su macOS, Linux o Windows che utilizzano il sottosistema Windows per Linux, usa il comando scp per trasferire il file nella directory home del tuo sammy utente. Il seguente comando presuppone che tu abbia salvato il file Oracle JDK nella cartella Downloads del tuo computer locale:

  1. scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~

Una volta completato il caricamento del file, torna al tuo server e aggiungi il repository di terze parti che ti aiuterà a installare Java di Oracle.

Installa il pacchetto software-properties-common, che aggiunge il comando add-apt-repository al tuo sistema:

  1. sudo apt install software-properties-common

Successivamente, importa la chiave di firma utilizzata per verificare il software che stai per installare:

  1. sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

Vedrai questo output:

Output
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported gpg: Total number processed: 1 gpg: imported: 1

Quindi usa il comando add-apt-repository per aggiungere il repository al tuo elenco di fonti di pacchetti:

  1. sudo add-apt-repository ppa:linuxuprising/java

Vedrai questo messaggio:

Output
Oracle Java 11 (LTS) and 12 installer for Ubuntu, Linux Mint and Debian. Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 11, so a working Internet connection is required. The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java Created for users of https://www.linuxuprising.com/ Installation instructions (with some tips), feedback, suggestions, bug reports etc.: . . . Press [ENTER] to continue or ctrl-c to cancel adding it

Premi INVIO per continuare l'installazione. Potresti vedere un messaggio relativo a nessun dato OpenPGP valido trovato, ma puoi tranquillamente ignorarlo.

Aggiorna l'elenco dei pacchetti per rendere il nuovo software disponibile per l'installazione:

  1. sudo apt update

Il programma di installazione cercherà Oracle JDK scaricato in /var/cache/oracle-jdk11-installer-local. Crea questa directory e sposta lì l'archivio Oracle JDK:

  1. sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
  2. sudo cp jdk-11.0.7_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

Infine, installa il pacchetto:

  1. sudo apt install oracle-java11-installer-local

Il programma di installazione ti chiederà innanzitutto di accettare il contratto di licenza Oracle. Accetta l'accordo, quindi il programma di installazione estrarrà il pacchetto Java e lo installerà.

Ora diamo un'occhiata a come selezionare la versione di Java che desideri utilizzare.

Gestire Java

È possibile avere più installazioni Java su un server. Puoi configurare quale versione è quella predefinita per l'uso sulla riga di comando usando il comando update-alternatives.

  1. sudo update-alternatives --config java

Ecco come sarebbe l'output se hai installato entrambe le versioni di Java in questo tutorial:

Output
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode Press <enter> to keep the current choice[*], or type selection number:

Scegli il numero associato alla versione di Java per usarlo come predefinito, oppure premi INVIO per lasciare invariate le impostazioni correnti.

Puoi farlo per altri comandi Java, come il compilatore (javac):

  1. sudo update-alternatives --config javac

Altri comandi per i quali questo comando può essere eseguito includono, ma non sono limitati a: keytool, javadoc e jarsignar.

Impostazione della variabile d'ambiente JAVA_HOME

Molti programmi scritti utilizzando Java utilizzano la variabile di ambiente JAVA_HOME per determinare la posizione di installazione di Java.

Per impostare questa variabile di ambiente, determinare innanzitutto dove è installato Java. Usa il comando update-alternatives:

  1. sudo update-alternatives --config java

Questo comando mostra ogni installazione di Java insieme al relativo percorso di installazione:

Output
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode Press <enter> to keep the current choice[*], or type selection number:

In questo caso i percorsi di installazione sono i seguenti:

  1. OpenJDK 11 si trova in /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
  2. Oracle Java si trova in /usr/lib/jvm/java-11-oracle/jre/bin/java.

Copia il percorso dalla tua installazione preferita. Quindi apri /etc/environment utilizzando nano o il tuo editor di testo preferito:

  1. sudo nano /etc/environment

Alla fine di questo file, aggiungi la seguente riga, assicurandoti di sostituire il percorso evidenziato con il tuo percorso copiato, ma non includere la parte bin/ del percorso:

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

La modifica di questo file imposterà il percorso JAVA_HOME per tutti gli utenti sul tuo sistema.

Salva il file ed esci dall'editor.

Ora ricarica questo file per applicare le modifiche alla sessione corrente:

  1. source /etc/environment

Verificare che la variabile di ambiente sia impostata:

  1. echo $JAVA_HOME

Vedrai il percorso che hai appena impostato:

Output
/usr/lib/jvm/java-11-openjdk-amd64

Gli altri utenti dovranno eseguire il comando source /etc/environment o disconnettersi e riconnettersi per applicare questa impostazione.

Conclusione

In questo tutorial hai installato più versioni di Java e hai imparato a gestirle. Ora puoi installare software che gira su Java, come Tomcat, Jetty, Glassfish, Cassandra o Jenkins.