Me pregunto si Ubuntu en sí mismo proporciona una manera de todo el sistema para encontrar el actual JAVA_HOME
o si hay un lugar adecuado para la configuración JAVA_HOME
.
Mac OS X funciona bien en esto, ya que el /usr/libexec/java_home
comando devuelve el actual JAVA_HOME
. Pero para Ubuntu, los materiales que encontré siempre me dijeron que establezca el $JAVA_PATH
apuntar a una ruta estática, que se almacena en ~/.bash_profile
.
Sin embargo, creo que este enfoque tiene varios inconvenientes:
- Una vez que Java se actualice, el número de versión mini cambiará, lo que hace que la ruta estática ya no esté disponible.
- Después de cambiar el JRE utilizado en mi sistema con
update-alternatives
, tengo que modificar$JAVA_HOME
en.bash_profile
. Ese trabajo extra es molesto. - Algunos
$JAVA_HOME
programas requeridos no son conscientes de.bash_profile
nada. Tengo que configurar$JAVA_HOME
su script de inicio, por lo tanto, una forma estándar y fácil de obtener me$JAVA_HOME
parece crítica.
Bueno, cualquier consejo es bienvenido. Gracias.
export JAVA_HOME=$(dirname $(dirname $(readlink -e $(which javac))))
Puede establecer variables de entorno en
/etc/environment
, que se configura mediante PAM. También debe haber enlaces simbólicos en los/usr/lib/jvm
que no cambien con lanzamientos menores.fuente
Establecer perfil del sistema de ruta
Edite el archivo de ruta del sistema / etc / profile
Agregue las siguientes líneas al final
Para http://javaandme.com/ para la guía de instalación completa.
fuente
Si está seguro de que se puede llamar al comando 'java', ¿no funcionaría para usted?
fuente
$JAVA_HOME
sistema, no solo en el shell actual.La solución aceptada por el usuario 13742 supone que el servidor definitivamente tiene Java instalado. En caso de que esté agregando esto a un script centralizado para muchos servidores, dará algunos errores como:
Para evitar eso y solo establecer JAVA_HOME si el servidor tiene un entorno Java, una pequeña mejora es:
También incorporé el cambio de SimonB para usar
which
para encontrar dónde está la instalación.fuente
/etc/environment
?