Używam ArchLinux i IDE o nazwie PyCharm. Na swojej stronie pobierania zaleca używanie języka Java 6 zamiast OpenJDK. ArchLinux ma pakiet OpenJDK (jdk7-openjdk
), który zainstalowałem, zainstalowałem i na podstawie tego, co przeczytałem w Arch Wiki w Javie , powinno być możliwe zainstalowanie Oracle Java 6 obok OpenJDK 7 za pośrednictwem pakietów o nazwach jdk6-compat
i jre6-compat
, które instalują te wersje Javy w /opt/
zamiast w normalnej lokalizacji.
Jednak po zainstalowaniu jdk6-compat
i jre6-compat
, nadal widzę, że używam OpenJDK 7, gdy uruchamiam następujące:
% 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)
… nawet po ustawili JAVA_HOME
i dodali /opt/java6/bin
do mojego PATH
w moim .zshrc
plik.
Jak mogę sprawić, aby PyCharm (lub inne aplikacje) używały Oracle Java 6 zamiast OpenJDK?
Dziękuję i przepraszam, jeśli napisałem w niewłaściwym miejscu.
Inne informacje, które mogą być pomocne:
- Używanie Gnome 3 jako DE
Odpowiedź
Jeśli chcę użyć innej wersji Java Robię dwie rzeczy:
- Najpierw ustawiam
JAVA_HOME
jako odpowiednie dla tej instalacji Javy i wyeksportuję ją. - Następnie zaktualizuj moją ścieżkę o `PATH = $ {JAVA_HOME} / bin: $ {PATH}.
Ze względu na sposób, w jaki PATH
jest przeszukiwane, jeśli dodasz na końcu ścieżki, nowa wersja nie będzie używana. Cokolwiek dodane na końcu ścieżki dodaje tylko nowe polecenia, nie zastępuje istniejących poleceń. Wcześniejsze dodanie do zmiennej PATH
spowoduje użycie polecenia w nowym katalogu zamiast innego polecenia.
Polecenia takie jak java
często zawierają wiele dowiązań symbolicznych, zanim przejdziesz do programu. Użycie ${JAVA_HOME}/bin
omija wszelkie pośrednie i zapewnia bezpośrednią ścieżkę do różnych poleceń związanych z Javą.
EDYCJA: Jeśli chcesz uruchamiać tylko niektóre programy z inną wersją Javy można użyć takiego opakowania:
#!/bin/bash # javawrapper - replace Java for a command. export JAVA_HOME=$1; shift PATH=${JAVA_HOME}/bin:$PATH $*
Następnie można wywołać opakowanie za pomocą polecenia takiego jak.
javawrapper /opt/java6 PyCharm
Możesz także dodać alias do swojego pliku ~/.bashrc
w ten sposób
alias PyCharm="javawrapper /opt/java6 PyCharm"
Komentarze
Odpowiedź
ArchLinux przechowuje różne JDK w katalogu / usr / lib / jvm, zmiana domyślnego JDK jest kwestią modyfikacji tam dowiązań symbolicznych:
# 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 ma do tego specjalny skrypt:
# archlinux-java set java-10-openjdk
i otrzymujesz:
# 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)
możesz także użyć opcji „napraw” i „stan”:
# archlinux-java fix # archlinux-java status Available Java environments: java-10-openjdk (default) java-8-openjdk java-9-openjdk
Komentarze
- I czy nie ' nie wiem, dlaczego ' nie została zaakceptowana odpowiedź?
- zobacz także blog.debenny.de/2018/07/21/install-jdk-on-arch-linux-manually
$PATH
. Ale jak uruchomić różne wersje oprogramowania Java tylko dla niektórych aplikacji?