Me pregunto si Ubuntu en sí mismo proporciona una manera de todo el sistema para encontrar el actual JAVA_HOMEo si hay un lugar adecuado para la configuración JAVA_HOME.
Mac OS X funciona bien en esto, ya que el /usr/libexec/java_homecomando devuelve el actual JAVA_HOME. Pero para Ubuntu, los materiales que encontré siempre me dijeron que establezca el $JAVA_PATHapuntar 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_HOMEen.bash_profile. Ese trabajo extra es molesto. - Algunos
$JAVA_HOMEprogramas requeridos no son conscientes de.bash_profilenada. Tengo que configurar$JAVA_HOMEsu script de inicio, por lo tanto, una forma estándar y fácil de obtener me$JAVA_HOMEparece 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/jvmque 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_HOMEsistema, 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
whichpara encontrar dónde está la instalación.fuente
/etc/environment?