Jeg bruger ArchLinux og en IDE kaldet PyCharm. På sin downloadside anbefaler den at bruge Java 6 i stedet for OpenJDK. ArchLinux har en OpenJDK-pakke (jdk7-openjdk
), som jeg har installeret, installeret og ud fra det, jeg havde læst i Arch Wiki på Java , skulle det være muligt at installere Oracle Java 6 langs OpenJDK 7 via en pakke kaldet jdk6-compat
og jre6-compat
, disse versioner af Java i /opt/
i stedet for den normale placering.
Efter installation af jdk6-compat
og jre6-compat
, jeg ser stadig, at jeg kører OpenJDK 7, når jeg kører følgende:
% java -version java version "1.7.0_09" OpenJDK Runtime Environment (IcedTea7 2.3.3) (ArchLinux build 7.u9_2.3.3-1-x86_64) OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)
… selv efter jeg har indstillet JAVA_HOME
og tilføjet /opt/java6/bin
til min PATH
i min .zshrc
-fil.
Hvordan kan jeg få PyCharm (eller andre applikationer) til at bruge Oracle Java 6 i stedet for OpenJDK?
Tak og undskyld, hvis jeg har sendt det forkerte sted.
Andre oplysninger, der kan være nyttige:
- Brug af Gnome 3 som DE
Svar
Hvis jeg vil bruge en anden version af Java gør jeg to ting:
- Indstil først
JAVA_HOME
som relevant for den installation af Java, og eksporter den. - Opdater derefter min sti med PATH = $ {JAVA_HOME} / bin: $ {PATH}.
På grund af den måde er PATH
søgte, 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. Forhåndsvisning af variablen PATH
bruger kommandoen i den nye mappe frem for en anden kommando.
Kommandoer som java
involverer ofte et antal symbolske links, før du kommer til programmet. Brug af ${JAVA_HOME}/bin
omgår eventuelle indirektioner og giver en direkte sti til de forskellige Java-relaterede kommandoer.
EDIT: Hvis du kun vil køre bestemte programmer med en anden version på Java kan du bruge en indpakning som denne:
#!/bin/bash # javawrapper - replace Java for a command. export JAVA_HOME=$1; shift PATH=${JAVA_HOME}/bin:$PATH $*
Du kan derefter ringe til 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"
Kommentarer
Svar
ArchLinux beholder de forskellige JDKer i / usr / lib / jvm biblioteket, æ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 indstillingerne “fix” og “status”:
# archlinux-java fix # archlinux-java status Available Java environments: java-10-openjdk (default) java-8-openjdk java-9-openjdk
Kommentarer
- I ved ikke ' hvorfor det ' ikke accepteres?
- se også blog.debenny.de/2018/07/21/install-jdk-on-arch-linux-manually
$PATH
. Men hvordan kører jeg kun den anden version af Java til bestemte applikationer?