Gostaria de saber se o próprio Ubuntu oferece uma maneira de encontrar todo o sistema atual JAVA_HOME
ou se existe o lugar certo para a configuração JAVA_HOME
.
O Mac OS X se sai bem nisso, pois o /usr/libexec/java_home
comando retorna a atual JAVA_HOME
. Mas, para o Ubuntu, os materiais que encontrei sempre me pediam para definir o $JAVA_PATH
apontador para um caminho estático, no qual são armazenados ~/.bash_profile
.
Penso, no entanto, que esta abordagem tem várias desvantagens:
- Depois que o Java for atualizado, o número da mini versão será alterado, o que torna o caminho estático não mais disponível.
- Depois de mudar o JRE usado no meu sistema com
update-alternatives
, eu tenho que modificar$JAVA_HOME
no.bash_profile
. Esse trabalho extra é irritante. - Alguns
$JAVA_HOME
programas obrigatórios não têm conhecimento.bash_profile
. Eu tenho que definir$JAVA_HOME
no script de inicialização, portanto, uma maneira padrão e fácil de obter$JAVA_HOME
parece crítica para mim.
Bem, qualquer conselho é bem-vindo. Obrigado.
export JAVA_HOME=$(dirname $(dirname $(readlink -e $(which javac))))
Você pode definir variáveis de ambiente
/etc/environment
, que são configuradas pelo PAM. Também deve haver links simbólicos nos/usr/lib/jvm
quais não mudam com versões menores.fonte
Definir perfil do sistema de caminho
Edite o arquivo de caminho do sistema / etc / profile
Adicione as seguintes linhas no final
Para http://javaandme.com/ para obter o guia completo de instalação.
fonte
Se você tem certeza de que o comando 'java' pode ser chamado, isso não funcionaria para você?
fonte
$JAVA_HOME
sistema, não apenas no shell atual.A solução aceita pelo usuário13742 pressupõe que o servidor definitivamente tenha o Java instalado. Caso você esteja adicionando isso a um script centralizado para muitos servidores, ocorrerão alguns erros como:
Para evitar isso e configure apenas JAVA_HOME se o servidor tiver um ambiente Java, um pequeno aprimoramento é:
Também incorporei a alteração do SimonB
which
para descobrir onde está a instalação.fonte
/etc/environment
?