No estoy muy seguro, pero si instala el RPMS normal, el valor JAVA_HOME también se puede establecer en esto:
/usr/java/default/
EDITAR: acabo de comprobar mi sistema de inicio. He creado este archivo:
/etc/profile.d/java.sh
Eso contiene:
export JAVA_HOME=/usr/java/default/
y estoy usando la versión oficial de Sun: jdk-1.6.0_12-fcs
EDITAR: así es como configuré Java en mi máquina :
Instalar Java
Descargue e instale Java JDK de Oracle
Hazlo primario
Asegúrese de que este Java se use en lugar de la versión OpenJDK utilizando los dos comandos siguientes:
primero
alternatives --install /usr/bin/java java /usr/java/default/bin/java 999999 \
--slave /usr/bin/keytool keytool /usr/java/default/bin/keytool \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/default/bin/rmiregistry
Segundo
alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 999999 \
--slave /usr/bin/jar jar /usr/java/default/bin/jar \
--slave /usr/bin/rmic rmic /usr/java/default/bin/rmic
Establecer JAVA_HOME
Asegúrese de que todos los usuarios tengan su variable de entorno JAVA_HOME establecida en el valor correcto:
echo "export JAVA_HOME=/usr/java/default/" > /etc/profile.d/java_home.sh
/usr/java/default
en mi caja CentOS 6 con OpenJDK 1.6 y 1.7 instalado.Desea configurar JAVA_HOME para que sea la ubicación raíz del JDK o JRE, por ejemplo:
Si el JDK (kit de desarrollo) está instalado, probablemente desee que apunte a eso, de lo contrario utilice la ruta JRE (Java Runtime Environment). Entonces, es posible que desee establecer su variable de entorno $ PATH para incluir también el directorio bin:
Si está utilizando tomcat, es posible que también deba configurar CATALINA_HOME para el usuario de tomcat.
Para configurar esto para el sistema que desea editar su / etc / profile o agregar un archivo .sh en la carpeta /etc/profile.d. Para un usuario en particular, puede colocarlo en los archivos ~ / .profile o ~ / .bash_profile de los usuarios.
fuente
A continuación siempre funciona perfectamente para mí:
Significa que puedo configurar JAVA_HOME como /usr/java/jdk1.6.0_31
fuente
Consideré el problema de si uno cambia la versión de java que se usa con:
Entonces, cualquier código rígido
JAVA_HOME
va a cambiar (al menos lo hará en el Centos 6.6 que estoy viendo actualmente). Es decir, no hay/usr/java
.Esta no parece ser la mejor manera (abierta al fracaso), pero en los 10 minutos que he pasado en esto parece la mejor.
En
/etc/bashrc
Modifiqué la configuración paraJAVA_HOME
que sea:Tienes que hacer algo similar en MacOSX pero sin todo
grep
ysed
para analizar el resultado. Seguramentealternatives
ofrece una solución similarmente más fácil.De todos modos espero haber ayudado.
Actualizar
No, eso sería
JRE_HOME
. El JDK / SDK no está demostrando ser tan obvio (seguiré buscando).El
alternatives
parece ser sólo sobre el JRE por defecto. Aplaudo a @Niels answer o simplemente instalo Java conyum
y configuro JAVA_HOME para eso (¡el truco es donde encontré dónde estaba instalado!).Me di cuenta de que
java_1.8.0
es un enlace simbólico/etc/alternatives/java_sdk_1.8.0
y, por lo tanto, establezco mi $ JAVA_HOME en/usr/lib/jvm/java_1.8.0
. En el/etc/bashrc
.fuente
Eso es extraño, el objetivo de tener una variable de entorno JAVE_HOME es que no tiene que especificar la ruta a cada programa, puede obtener esta ruta buscando esta variable.
De cualquier manera, la forma correcta de encontrar la variable ambiental para JAVA_HOME es usar echo:
La ejecución de este comando mostrará la ruta, sin importar qué versión esté ejecutando, desde la línea de comandos.
fuente
re: Centos7, consulte el archivo /etc/java/java.conf.
en él JAVA_HOME se indica que se encuentra en el siguiente directorio: / usr / lib / jvm / java
Lo comprobé, es la versión correcta del jdk que cargué a través de yum, y así ...
mi env no tiene JAVA_HOME configurado de forma predeterminada, por lo tanto, lo configuré en .bash_profile
fuente
Descubrí que el administrador de paquetes puede ubicarse en una variedad de ubicaciones, por lo que usar cuál (necesitará instalar esto explícitamente si usa un contenedor) lo siguiente es un poco menos frágil
o para JRE
fuente