Jutilise ArchLinux et un IDE appelé PyCharm. Sur sa page de téléchargement , il recommande dutiliser Java 6 au lieu dOpenJDK. ArchLinux a un package OpenJDK (jdk7-openjdk
) que jai installé, installé et daprès ce que javais lu dans le Arch Wiki sur Java , il devrait être possible dinstaller Oracle Java 6 aux côtés dOpenJDK 7 via des packages appelés jdk6-compat
et jre6-compat
, qui installent ces versions de Java dans /opt/
au lieu de lemplacement normal.
Cependant, après linstallation de jdk6-compat
et jre6-compat
, je vois toujours que jexécute OpenJDK 7 lorsque jexécute ce qui suit:
% 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)
… même après avoir défini JAVA_HOME
et ajouté /opt/java6/bin
à mon PATH
dans mon .zshrc
.
Comment puis-je faire en sorte que PyCharm (ou dautres applications) utilise Oracle Java 6 au lieu dOpenJDK?
Merci et excuses si jai posté au mauvais endroit.
Autres informations qui pourraient être utiles:
- Utiliser Gnome 3 comme DE
Répondre
Si je souhaite utiliser une version différente de Java Je fais deux choses:
- Tout dabord, définissez
JAVA_HOME
comme approprié pour cette installation de Java et exportez-le. - Ensuite, mettez à jour mon chemin avec `PATH = $ {JAVA_HOME} / bin: $ {PATH}.
En raison de la façon dont PATH
est recherché, si vous ajoutez à la fin du chemin, la nouvelle version ne sera pas utilisée. Tout ce qui est ajouté à la fin du chemin najoute que de nouvelles commandes, il ne remplace pas les commandes existantes. Si vous préférez la variable PATH
, vous utiliserez la commande dans le nouveau répertoire de préférence à une autre commande.
Des commandes comme java
impliquent souvent un certain nombre de liens symboliques avant darriver au programme. Lutilisation de ${JAVA_HOME}/bin
contourne toutes les indirections et fournit un chemin direct vers les différentes commandes liées à Java.
EDIT: Si vous souhaitez exécuter uniquement certains programmes avec une version différente de Java, vous pouvez utiliser un wrapper comme celui-ci:
#!/bin/bash # javawrapper - replace Java for a command. export JAVA_HOME=$1; shift PATH=${JAVA_HOME}/bin:$PATH $*
Vous pouvez alors appeler le wrapper avec une commande comme.
javawrapper /opt/java6 PyCharm
Vous pouvez également ajouter un alias à votre fichier ~/.bashrc
comme ceci
alias PyCharm="javawrapper /opt/java6 PyCharm"
Commentaires
Réponse
ArchLinux garde les différents JDK dans le répertoire / usr / lib / jvm, changer le JDK par défaut est une question de modifier les liens symboliques là-bas:
# 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 a un script spécial pour cela:
# archlinux-java set java-10-openjdk
et vous obtenez:
# 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)
vous pouvez également utiliser les options « fix » et « status »:
# archlinux-java fix # archlinux-java status Available Java environments: java-10-openjdk (default) java-8-openjdk java-9-openjdk
Commentaires
- I ' ne savez-vous pas pourquoi ' réponse refusée?
- voir aussi blog.debenny.de/2018/07/21/install-jdk-on-arch-linux-manually
$PATH
. Mais comment exécuter uniquement la version différente de Java pour certaines applications?