Yo uso ArchLinux y un IDE llamado PyCharm. En su página de descarga , recomienda usar Java 6 en lugar de OpenJDK. ArchLinux tiene un paquete OpenJDK (jdk7-openjdk
) que he instalado, instalado y de lo que había leído en Arch Wiki en Java , debería ser posible instalar Oracle Java 6 junto con OpenJDK 7 a través de paquetes llamados jdk6-compat
y jre6-compat
, que instalan estas versiones de Java en /opt/
en lugar de la ubicación normal.
Sin embargo, después de instalar jdk6-compat
y jre6-compat
, todavía veo que estoy ejecutando OpenJDK 7 cuando ejecuto lo siguiente:
% 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)
… incluso después de que he configurado JAVA_HOME
y agregado /opt/java6/bin
a mi PATH
en mi .zshrc
archivo.
¿Cómo puedo hacer que PyCharm (u otras aplicaciones) usen Oracle Java 6 en lugar de OpenJDK?
Gracias, y disculpas si he publicado en el lugar equivocado.
Otra información que podría ser útil:
- Usando Gnome 3 como DE
Responda
Si quiero usar una versión diferente de Java, hago dos cosas:
- Primero, configure
JAVA_HOME
según corresponda para esa instalación de Java y expórtelo. - Luego, actualice mi ruta con `PATH = $ {JAVA_HOME} / bin: $ {PATH}.
Debido a la forma en que PATH
es buscado, si agrega al final de la ruta, no se utilizará la nueva versión. Todo lo que se agregue al final de la ruta solo agrega nuevos comandos, no reemplaza los comandos existentes. Anteponer a la variable PATH
se usará el comando en el nuevo directorio en lugar de otro comando.
Comandos como java
a menudo implican una serie de enlaces simbólicos antes de llegar al programa. El uso de ${JAVA_HOME}/bin
omite las direcciones indirectas y proporciona una ruta directa a los diversos comandos relacionados con Java.
EDITAR: si desea ejecutar solo ciertos programas con una versión diferente de Java, puede usar un contenedor como este:
#!/bin/bash # javawrapper - replace Java for a command. export JAVA_HOME=$1; shift PATH=${JAVA_HOME}/bin:$PATH $*
Luego puede llamar al contenedor con un comando como.
javawrapper /opt/java6 PyCharm
También puede agregar un alias a su archivo ~/.bashrc
como este
alias PyCharm="javawrapper /opt/java6 PyCharm"
Comentarios
Respuesta
ArchLinux mantiene los diferentes JDK en el directorio / usr / lib / jvm, cambiar el JDK predeterminado es una cuestión de modificar los enlaces simbólicos allí:
# 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 tiene un script especial para eso:
# archlinux-java set java-10-openjdk
y obtienes:
# 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)
también puede utilizar las opciones «arreglar» y «estado»:
# archlinux-java fix # archlinux-java status Available Java environments: java-10-openjdk (default) java-8-openjdk java-9-openjdk
Comentarios
- I ¿No ' no sabe por qué ' no se acepta la respuesta?
- ver también blog.debenny.de/2018/07/21/install-jdk-on-arch-linux-manually
$PATH
. Pero, ¿cómo ejecuto solo la versión diferente de Java para ciertas aplicaciones?