java linux

Installare e far coesistere diverse versioni Java su Ubuntu Linux

java linuxA volte può essere necessario installare due diverse versioni Java sulla stessa macchina ed il motivo sta nel fatto che può esserci una o più applicazioni che per funzionare correttamente richiede una specifica versione di JVM (Java Virtual Machine) che potrebbe non essere quella più aggiornata.

Far coesistere diverse versioni Java è possibile su qualunque sistema operativo ma su Ubuntu Linux è particolarmente semplice.

La JVM di default sarà ovviamente una sola, mentre l'altra verrà utilizzata dalla o dalle applicazioni che si desidera modificandone gli script di avvio.

Supponiamo di voler installare e far coesistere le versioni Java 6 e 8 di Oracle Sun. Per farlo basta seguire i seguenti passi:

eliminare l'eventuale versione di OpenJava con il seguente comando:

sudo apt-get purge openjdk*

quindi si installano le due versioni di java desiderate

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

al termine di questa operazione avremo le due JVM installate nei seguenti percorsi:

  • Java 8: /usr/lib/jvm/java-8-oracle/jre/bin/
  • Java 6: /usr/lib/jvm/java-6-oracle/jre/bin/

ma solo una delle due, l'ultima installata, sarà quella di default. Si può verificare la versione di default utilizzata con il seguente comando:

java -version

il risultato sarà simile al seguente:

java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

Se si vuole cambiare la versione java di default (JVM) bisogna utilizzare il comando:

sudo update-alternatives --config java

che mostrerà l'elenco delle JVM presenti chiedendo di indicare quella che si desidera utilizzare come default (come da figura seguente)

update-alternatives config java

indicata la propria scelta e premendo Invio si otterrà la seguente risposta:

update-alternatives: viene usato /usr/lib/jvm/java-8-oracle/jre/bin/java per fornire /usr/bin/java (java) in modalità manuale

A questo punto qualunque applicazione Java utilizzerà la JVM di default. Per fare in modo che un'applicazione specifica utilizzi l'altra JVM bisogna specificargli il percorso esatto nel relativo script di avvio.

All'interno di questi script solitamente si trova qualche variabile che, se non valorizzata utilizza il percorso standard del sistema, altrimenti va valorizzata con il percorso della versione di java che si vuole utilizzare.

Ad esempio

JAVA_PATH="/usr/lib/jvm/java-6-oracle/jre/bin/"

in questo modo userà la versione java 6 invece delle java 8 di default.

(Letto 2.260 volte di cui 1 negli ultimi 30gg)
twitterlinkedinmailby feather

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *