Java >> Java tutorial >  >> JDK

Brug en bestemt version af JRE / JDK til visse programmer

ArchLinux beholder de forskellige JDK'er i mappen /usr/lib/jvm, ændring af standard JDK er et spørgsmål om at ændre de symbolske links der:

# ls -al /usr/lib/jvm  
lrwxrwxrwx   1 root root     14 May 31 19:58 default -> java-8-openjdk
lrwxrwxrwx   1 root root     18 May 31 19:58 default-runtime -> java-8-openjdk/jre
drwxr-xr-x   7 root root   4096 May 27 21:45 java-10-openjdk
drwxr-xr-x   6 root root   4096 May 31 14:35 java-8-openjdk
drwxr-xr-x   7 root root   4096 May 31 19:56 java-9-openjdk

Arch har et specielt script til det:

# archlinux-java set java-10-openjdk

og du får:

# java -version
openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10)
OpenJDK 64-Bit Server VM (build 10.0.1+10, mixed mode)

du kan også bruge mulighederne 'fix' og 'status':

# archlinux-java fix
# archlinux-java status
Available Java environments:
  java-10-openjdk (default)
  java-8-openjdk
  java-9-openjdk

Hvis jeg vil bruge en anden version af Java, gør jeg to ting:

  • Indstil først JAVA_HOME som passende for den pågældende installation af Java og eksporter den.
  • Opdater derefter min sti med `PATH=${JAVA_HOME}/bin:${PATH}.

På grund af måden PATH på er søgt, hvis du tilføjer til slutningen af ​​stien, vil den nye version ikke blive brugt. Alt tilføjet til slutningen af ​​stien tilføjer kun nye kommandoer, det erstatter ikke eksisterende kommandoer. Forud for PATH variabel vil bruge kommandoen i den nye mappe frem for andre kommandoer.

Kommandoer som java involverer ofte en række symbolske links, før du kommer til programmet. Bruger ${JAVA_HOME}/bin omgår enhver indirektion og giver en direkte sti til de forskellige Java-relaterede kommandoer.

EDIT:Hvis du kun vil køre visse programmer med en anden version af Java, kan du bruge en wrapper som denne:

#!/bin/bash
# javawrapper - replace Java for a command.
export JAVA_HOME=$1; shift
PATH=${JAVA_HOME}/bin:$PATH
$*

Du kan derefter kalde indpakningen med en kommando som.

javawrapper /opt/java6 PyCharm

Du kan også tilføje et alias til din ~/.bashrc fil som denne

alias PyCharm='javawrapper /opt/java6 PyCharm'

Java tag