Používám ArchLinux a IDE s názvem PyCharm. Na své stránce stahování doporučuje použít místo OpenJDK prostředí Java 6. ArchLinux má balíček OpenJDK (jdk7-openjdk
), který jsem nainstaloval, nainstaloval az toho, co jsem četl v Arch Wiki v Javě , mělo by být možné instalovat Oracle Java 6 po straně OpenJDK 7 přes balíčky s názvem jdk6-compat
a jre6-compat
, které instalují tyto verze Javy v /opt/
namísto běžného umístění.
Po instalaci jdk6-compat
a jre6-compat
, stále vidím, že používám OpenJDK 7, když spustím následující:
% 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)
… i poté, co jsem nastavili JAVA_HOME
a přidali /opt/java6/bin
do mého PATH
do mého .zshrc
soubor.
Jak mohu dosáhnout, aby PyCharm (nebo jiné aplikace) používaly Oracle Java 6 místo OpenJDK?
Děkuji a omlouvám se, pokud jsem zveřejnil příspěvek na špatném místě.
Další užitečné informace:
- Použití Gnome 3 jako DE
Odpověď
Pokud chci použít jinou verzi Java dělám dvě věci:
- Nejprve nastavte
JAVA_HOME
podle potřeby pro tuto instalaci Javy a exportujte ji. - Poté aktualizujte mou cestu pomocí `PATH = $ {JAVA_HOME} / bin: $ {PATH}.
Kvůli způsobu, jakým je PATH
prohledáno, pokud přidáte na konec cesty, nová verze nebude použita. Cokoli přidané na konec cesty přidává pouze nové příkazy, nenahrazuje stávající příkazy. Příprava na proměnnou PATH
použije v novém adresáři přednost před jiným příkazem.
Příkazy jako java
často zahrnují řadu symbolických odkazů, než se dostanete do programu. Použitím ${JAVA_HOME}/bin
obejdete všechny indirekce a získáte přímou cestu k různým příkazům souvisejícím s Java.
EDIT: Pokud chcete spouštět pouze určité programy s jinou verzí Java můžete použít obálku takto:
#!/bin/bash # javawrapper - replace Java for a command. export JAVA_HOME=$1; shift PATH=${JAVA_HOME}/bin:$PATH $*
Obálku pak můžete zavolat pomocí příkazu jako.
javawrapper /opt/java6 PyCharm
Do svého ~/.bashrc
můžete také přidat alias, jako je tento
alias PyCharm="javawrapper /opt/java6 PyCharm"
Komentáře
Odpovědět
ArchLinux udržuje různé JDK v adresáři / usr / lib / jvm, změna výchozího JDK je věcí úpravy symbolických odkazů:
# 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 má k tomu speciální skript:
# archlinux-java set java-10-openjdk
a získáte:
# 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)
můžete také použít možnosti „opravit“ a „stav“:
# archlinux-java fix # archlinux-java status Available Java environments: java-10-openjdk (default) java-8-openjdk java-9-openjdk
Komentáře
- I nevíte, proč ' neakceptuje odpověď?
- viz také blog.debenny.de/2018/07/21/install-jdk-on-arch-linux-manually
$PATH
. Jak ale můžu spustit jinou verzi Javy pouze pro určité aplikace?