Indipendentemente dal sistema operativo in esecuzione, di solito esistono diversi modi per installare un'applicazione. A volte potresti trovare un'applicazione in un app store o installarla con un gestore di pacchetti come DNF su Fedora o Brew su Mac e altre volte potresti scaricare un eseguibile o un programma di installazione da un sito Web. Poiché Java è un backend così popolare per così tante applicazioni, è bene capire i diversi modi in cui puoi installarlo. La buona notizia è che hai molte opzioni e questo articolo le copre tutte.
La cattiva notizia è che Java è grande , non tanto per dimensioni quanto per portata. Java è un linguaggio e una specifica open source, il che significa che chiunque può, in teoria, crearne un'implementazione. Ciò significa che, prima di poter installare qualsiasi cosa, devi decidere quale Java vuoi installare.
Ho bisogno di una JVM, di una JRE o di una JDK?
Java è sostanzialmente suddiviso in due categorie scaricabili. La macchina virtuale Java (JVM) è un componente di runtime; è il "motore" che consente alle applicazioni Java di avviare ed eseguire sul tuo computer. È incluso in Java Runtime Environment (JRE).
Il Kit di sviluppo Java (JDK) è un toolkit di sviluppo:puoi pensarlo come un garage in cui i riparatori siedono intorno a fare aggiustamenti, riparazioni e miglioramenti. Il JDK include Java Runtime Environment (JRE).
In termini di download, questo si traduce in:
- Se sei un utente che cerca di eseguire un'applicazione Java, hai solo bisogno di JRE (che include una JVM).
- Se sei uno sviluppatore che cerca di programmare in Java, hai bisogno del JDK (che include le librerie JRE, che a sua volta include una JVM).
Qual è la differenza tra OpenJDK, IcedTea e OracleJDK?
Quando Sun Microsystems è stata acquistata da Oracle, Java era una parte importante della vendita. Fortunatamente, Java è una tecnologia open source, quindi se non sei soddisfatto del modo in cui Oracle gestisce il progetto, hai altre opzioni. Oracle raggruppa i componenti proprietari con i suoi download Java, mentre il progetto OpenJDK è completamente open source.
Il progetto IcedTea è essenzialmente OpenJDK, ma il suo obiettivo è rendere più facile per gli utenti creare e distribuire OpenJDK quando utilizzano strumenti completamente gratuiti e open source.
Quale Java devo installare?
Se ti senti sopraffatto dalle scelte, la risposta semplice di quale implementazione Java dovresti installare è quella che è più facile da installare. Quando un'applicazione ti dice che hai bisogno di Java 12, ma il tuo repository ha solo Java 8, va bene installare qualsiasi implementazione di Java 12 tu possa trovare da una fonte affidabile. Su Linux, puoi avere diverse versioni di Java installate contemporaneamente e non interferiranno tra loro.
Altro su Java
- Cos'è la programmazione Java aziendale?
- Creazione Red Hat di OpenJDK
- Cheat sheet di Java
- Corso online gratuito:sviluppo di applicazioni cloud native con architetture di microservizi
- Articoli Java freschi
Se sei uno sviluppatore che deve fare la scelta, dovresti considerare di quali componenti hai bisogno. Se scegli la versione di Oracle, tieni presente che nel pacchetto sono presenti plugin e font proprietari che potrebbero interferire con la distribuzione della tua applicazione. È più sicuro sviluppare su IcedTea o OpenJDK.
Installa OpenJDK da un repository
Ora che conosci le tue scelte, puoi cercare OpenJDK o IcedTea con il tuo gestore di pacchetti e installare la versione che ti serve. Alcune distribuzioni utilizzano la parola chiave più recente per indicare la versione più recente, che di solito è ciò di cui hai bisogno per eseguire qualsiasi applicazione tu stia tentando di eseguire. A seconda del gestore di pacchetti che utilizzi, potresti anche prendere in considerazione l'utilizzo di grep per filtrare i risultati della ricerca per includere solo le ultime versioni. Ad esempio, su Fedora:
$ sudo dnf search openjdk | \
grep latest | cut -f1 -d':'
java-latest-openjdk-demo.x86_64
java-openjdk.i686
java-openjdk.x86_64
java-latest-openjdk-jmods.x86_64
java-latest-openjdk-src.x86_64
java-latest-openjdk.x86_64
[...]
Solo se l'applicazione che stai cercando di eseguire insiste sul fatto che hai bisogno di una versione legacy di Java dovresti guardare oltre le più recenti rilascio.
Installa Java su Fedora o simili con:
$ sudo dnf install java-latest-openjdk
Se la tua distribuzione non utilizza le più recenti tag, può utilizzare un'altra parola chiave, ad esempio predefinito . Ecco una ricerca per OpenJDK su Debian:
$ sudo apt search openjdk | less
default-jdk
Standard Java development kit
default-jre
Standard Java runtime
openjdk-11-jdk
OpenJDK development kit (JDK)
[...]
In questo caso, il default-jre pacchetto è appropriato per gli utenti e il default-jdk è adatto per gli sviluppatori.
Ad esempio, per installare JRE su Debian:
$ sudo apt install default-jre
Java è ora installato.
Probabilmente ce ne sono molti molti Pacchetti relativi a Java nel tuo repository. Cerca su OpenJDK e cerca il JRE o JVM più recente se sei un utente e il JDK più recente se sei uno sviluppatore.
Installa Java da Internet
Se non riesci a trovare un JRE o JDK nel tuo repository, o quelli che trovi non adatti alle tue esigenze, puoi scaricare pacchetti Java open source da Internet. Puoi trovare download di OpenJDK su adoptopenjdk.net sotto forma di tarball che richiede l'installazione manuale, oppure puoi scaricare l'edizione Zulu Community da Azul sotto forma di tarball o pacchetti RPM o DEB installabili.
Installazione di Java da un file TAR
Se scarichi un file TAR da Java.net o Azul, devi installarlo manualmente. Questa è spesso chiamata installazione "locale" perché non stai installando Java in una posizione "globale". Invece, scegli un posto conveniente nel tuo PERCORSO.
Se non sai cosa c'è nel tuo PERCORSO, dai un'occhiata per scoprirlo:
$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/seth/bin
In questo esempio PATH, le posizioni /usr/local/bin e /home/seth/bin sono buone opzioni. Se sei l'unico utente sul tuo computer, la tua home directory ha senso. Se ci sono molti utenti sul tuo computer, allora una posizione comune, come /usr/local o /opt , è la scelta migliore.
Se non hai accesso a directory a livello di sistema come /usr/local , che richiedono sudo autorizzazioni, quindi crea un bin locale (per "binario", non un cestino dei rifiuti) o Applicazioni cartella nella tua cartella Inizio:
$ mkdir ~/bin
Aggiungi questo al tuo PERCORSO, se non è già lì:
$ echo PATH=$PATH:$HOME/bin >> ~/.bashrc
$ source ~/.bashrc
Infine, dearchivia il tarball nella directory che hai scelto.
$ tar --extract --file openjdk*linux-x64_bin.tar.gz \
--directory=$HOME/bin
Java è ora installato.
Installazione di Java da un RPM o DEB
Se scarichi un file RPM o DEB da Azul.com, puoi utilizzare il tuo gestore di pacchetti per installarlo.
Per Fedora, CentOS, RHEL e simili, scarica l'RPM e installalo usando DNF:
$ sudo dnf install zulu*linux.x86_64.rpm
Per Debian, Ubuntu, Pop_OS e distribuzioni simili, scarica il pacchetto DEB e installalo usando Apt:
$ sudo dpkg -i zulu*linux_amd64.deb
Java è ora installato.
Impostazione della versione Java con alternative
Alcune applicazioni sono sviluppate per una versione specifica di Java e non funzionano con nessun'altra versione. Questo è raro, ma succede e su Linux puoi usare il metodo di installazione locale (vedi Installazione di Java da un file TAR) o le alternative applicazione per affrontare questo conflitto.
Le alternative command esamina le applicazioni installate sul tuo sistema Linux e ti consente di scegliere quale versione utilizzare. Alcune distribuzioni, come Slackware, non forniscono alternative comando, quindi è necessario utilizzare invece il metodo di installazione locale. Su Fedora, CentOS e distribuzioni simili, il comando è alternative . Su Debian, Ubuntu e simili, il comando è update-alternatives .
Per ottenere un elenco delle versioni disponibili di un'applicazione attualmente installata sul tuo sistema Fedora:
$ alternatives --list
Su Debian, devi specificare l'applicazione per cui vuoi alternative:
$ update-alternatives --list java
Per scegliere quale versione vuoi rendere il sistema predefinito su Fedora:
$ sudo alternatives --config java
Su Debian:
$ sudo updates-alternatives --config java
Puoi modificare la versione Java predefinita secondo necessità in base all'applicazione che desideri eseguire.
Esecuzione di un'applicazione Java
Le applicazioni Java sono generalmente distribuite come file JAR. A seconda di come hai installato Java, il tuo sistema potrebbe essere già configurato per eseguire un'applicazione Java, che ti consente di fare semplicemente doppio clic sull'icona dell'applicazione (o selezionarla dal menu di un'applicazione) per eseguirla. Se dovessi eseguire un'installazione Java locale che non è integrata con il resto del tuo sistema, puoi avviare le applicazioni Java direttamente da un terminale:
$ java -jar ~/bin/example.jar &
Java è una buona cosa
Java è uno dei pochi ambienti di programmazione che pone al primo posto lo sviluppo multipiattaforma. Non c'è niente di così liberatorio come chiedere se un'applicazione viene eseguita sulla piattaforma e poi scoprire che l'applicazione è stata scritta in Java. Così semplicemente, sei libero da qualsiasi ansia da piattaforma che potresti aver avuto, che tu sia uno sviluppatore o un utente. Abbraccia le applicazioni Java sul tuo desktop ed eseguile su tutte dei tuoi desktop.