Skift mellem flere java-versioner
Apt-get vil ikke overskrive de eksisterende java-versioner.
For at skifte mellem installerede java-versioner skal du bruge update-java-alternatives
kommando.
Liste over alle java-versioner:
update-java-alternatives --list
Indstil java-version som standard (kræver root-tilladelser):
sudo update-java-alternatives --set /path/to/java/version
...hvor /path/to/java/version
er en af dem, der er angivet af den forrige kommando (f.eks. /usr/lib/jvm/java-7-openjdk-amd64
).
update-java-alternatives
er et bekvemmelighedsværktøj, der bruger Debians alternativsystem (update-alternatives
) for at indstille en masse links til den angivne java-version (f.eks. java
, javac
, ...).
Brug
sudo update-alternatives --config java
som viser alle installerede versioner med den aktuelle aktive version markeret og giver en dialogboks til at skifte:
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path...
------------------------------------------------------------
0 /usr/lib/jvm/java-9-oracle/bin/java...
* 1 /usr/lib/jvm/java-7-oracle/jre/bin/java...
2 /usr/lib/jvm/java-8-oracle/jre/bin/java...
3 /usr/lib/jvm/java-9-oracle/bin/java...
Press <enter> to keep...[*], or type selection number:
Brug
export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"
for at indstille $JAVA_HOME
fra den aktuelle aktive version
Baseret på svaret fra @muet fandt jeg, at dette fungerede problemfrit:
Føj dette til ~/.bashrc
:
export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"
Føj til aliaser:
alias useJava8='yes | sudo apt-get install oracle-java8-set-default && source ~/.bashrc'
alias useJava7='yes | sudo apt-get install oracle-java7-set-default && source ~/.bashrc'
Så kan du skifte inden for den samme shell ved kun at bruge:useJava7
eller useJava8