Jag använder ArchLinux och en IDE som heter PyCharm. På sin nedladdningssida rekommenderar den att du använder Java 6 istället för OpenJDK. ArchLinux har ett OpenJDK-paket (jdk7-openjdk
) som jag har installerat, installerat och från vad jag hade läst i Arch Wiki på Java borde det vara möjligt att installera Oracle Java 6 längs sidan OpenJDK 7 via ett paket som heter jdk6-compat
och jre6-compat
dessa versioner av Java i /opt/
istället för den normala platsen.
Efter installation av jdk6-compat
och jre6-compat
, jag ser fortfarande att jag kör OpenJDK 7 när jag kör följande:
% 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)
… även efter att jag har ställt in JAVA_HOME
och lagt till /opt/java6/bin
till min PATH
i min .zshrc
-fil.
Hur kan jag få PyCharm (eller andra applikationer) att använda Oracle Java 6 istället för OpenJDK?
Tack och ber om ursäkt om jag har skrivit fel plats.
Annan information som kan vara till hjälp:
- Använda Gnome 3 som DE
Svar
Om jag vill använda en annan version på Java gör jag två saker:
- Ställ först in
JAVA_HOME
för den installationen av Java och exportera den. - Uppdatera sedan min sökväg med `PATH = $ {JAVA_HOME} / bin: $ {PATH}.
På grund av sättet är PATH
sökte, om du lägger till i slutet av sökvägen kommer den nya versionen inte att användas. Allt som läggs till i slutet av sökvägen lägger bara till nya kommandon, det ersätter inte befintliga kommandon. Att förbereda sig för variabeln PATH
använder kommandot i den nya katalogen framför andra kommandon.
Kommandon som java
involverar ofta ett antal symboliska länkar innan du kommer till programmet. Att använda ${JAVA_HOME}/bin
kringgår alla riktningar och ger en direkt sökväg till olika Java-relaterade kommandon.
EDIT: Om du bara vill köra vissa program med en annan version på Java kan du använda ett sådant omslag:
#!/bin/bash # javawrapper - replace Java for a command. export JAVA_HOME=$1; shift PATH=${JAVA_HOME}/bin:$PATH $*
Du kan sedan ringa omslaget med ett kommando som.
javawrapper /opt/java6 PyCharm
Du kan också lägga till ett alias i din ~/.bashrc
-fil så här
alias PyCharm="javawrapper /opt/java6 PyCharm"
Kommentarer
Svar
ArchLinux behåller olika JDK i katalogen / usr / lib / jvm, att ändra standard JDK handlar om att ändra de symboliska länkarna där:
# 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 ett speciellt manus för det:
# archlinux-java set java-10-openjdk
och 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 också använda alternativen ”fixa” och ”status”:
# archlinux-java fix # archlinux-java status Available Java environments: java-10-openjdk (default) java-8-openjdk java-9-openjdk
Kommentarer
- I vet ' inte varför det ' inte accepteras?
- se även blog.debenny.de/2018/07/21/install-jdk-on-arch-linux-manually
$PATH
. Men hur kör jag bara den andra versionen av Java för vissa applikationer?