Ich verwende ArchLinux und eine IDE namens PyCharm. Auf der Download-Seite wird die Verwendung von Java 6 anstelle von OpenJDK empfohlen. ArchLinux hat ein OpenJDK-Paket (jdk7-openjdk
), das ich installiert, installiert und von dem, was ich im Arch Wiki auf Java gelesen hatte sollte es möglich sein, Oracle Java 6 neben OpenJDK 7 über Pakete zu installieren, die jdk6-compat
und jre6-compat
installieren Diese Java-Versionen in /opt/
anstelle des normalen Speicherorts.
Nach der Installation von jdk6-compat
und jre6-compat
, ich sehe immer noch, dass ich OpenJDK 7 ausführe, wenn ich Folgendes ausführe:
% 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)
… auch nach I. habe JAVA_HOME
gesetzt und /opt/java6/bin
zu meinem PATH
in meinem Datei.
Wie kann ich PyCharm (oder andere Anwendungen) dazu bringen, Oracle Java 6 anstelle von OpenJDK zu verwenden?
Vielen Dank und Entschuldigung, wenn ich etwas gepostet habe am falschen Ort.
Andere Informationen, die hilfreich sein könnten:
- Verwenden von Gnome 3 als DE
Antwort
Wenn ich eine andere Version verwenden möchte von Java Ich mache zwei Dinge:
- Setzen Sie zuerst
JAVA_HOME
entsprechend dieser Installation von Java und exportieren Sie es. - Aktualisieren Sie dann meinen Pfad mit `PATH = $ {JAVA_HOME} / bin: $ {PATH}.
Aufgrund der Art und Weise, wie die PATH
lautet gesucht, wenn Sie am Ende des Pfades hinzufügen, wird die neue Version nicht verwendet. Alles, was am Ende des Pfads hinzugefügt wird, fügt nur neue Befehle hinzu und ersetzt keine vorhandenen Befehle. Wenn Sie der Variablen PATH
voranstellen, wird der Befehl im neuen Verzeichnis gegenüber anderen Befehlen bevorzugt.
Befehle wie java
Verwenden Sie häufig eine Reihe symbolischer Links, bevor Sie zum Programm gelangen. Die Verwendung von ${JAVA_HOME}/bin
umgeht alle Indirektionen und bietet einen direkten Pfad zu den verschiedenen Java-bezogenen Befehlen.
BEARBEITEN: Wenn Sie nur bestimmte Programme mit einer anderen Version ausführen möchten Unter Java können Sie einen Wrapper wie den folgenden verwenden:
#!/bin/bash # javawrapper - replace Java for a command. export JAVA_HOME=$1; shift PATH=${JAVA_HOME}/bin:$PATH $*
Sie können den Wrapper dann mit einem Befehl wie aufrufen.
javawrapper /opt/java6 PyCharm
Sie können Ihrer ~/.bashrc
-Datei auch einen Alias hinzufügen,
alias PyCharm="javawrapper /opt/java6 PyCharm"
Kommentare
- Nun, das löst das halbe Problem. Ich habe eher an das Ende als an den Anfang von
$PATH
angehängt. Aber wie führe ich die unterschiedliche Java-Version nur für bestimmte Anwendungen aus? - Ich ' habe meine Antwort aktualisiert. In einem Fall wie Ihrem muss ich jedoch selten Programme mit der Standard-Java-Version beibehalten.
Antwort
ArchLinux speichert die verschiedenen JDKs im Verzeichnis / usr / lib / jvm. Wenn Sie das Standard-JDK ändern, müssen Sie die symbolischen Links dort ändern:
# 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 hat dafür ein spezielles Skript:
# archlinux-java set java-10-openjdk
und Sie erhalten:
# 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)
Sie können auch die Optionen „Fix“ und „Status“ verwenden:
# archlinux-java fix # archlinux-java status Available Java environments: java-10-openjdk (default) java-8-openjdk java-9-openjdk
Kommentare
- I. ' weiß nicht, warum die Antwort ' nicht akzeptiert wird?
- siehe auch blog.debenny.de/2018/07/21/install-jdk-on-arch-linux-manuell