Não tenho muita certeza, mas se você instalar o RPMS normal, o valor JAVA_HOME também poderá ser definido como este:
/usr/java/default/
EDIT: Acabei de verificar no meu sistema doméstico. Eu criei este arquivo:
/etc/profile.d/java.sh
Isso contém:
export JAVA_HOME=/usr/java/default/
e eu estou usando a versão oficial da Sun: jdk-1.6.0_12-fcs
EDIT: Aqui está como eu configuro o Java na minha máquina :
Instale Java
Baixe e instale o Java JDK da Oracle
Tornar primário
Assegure-se de que este Java seja usado em vez da versão do OpenJDK usando os dois comandos a seguir:
Primeiro
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
Definir JAVA_HOME
Certifique-se de que todos os usuários tenham sua variável de ambiente JAVA_HOME configurada para o valor correto:
echo "export JAVA_HOME=/usr/java/default/" > /etc/profile.d/java_home.sh
/usr/java/default
na minha caixa do CentOS 6 com o OpenJDK 1.6 e 1.7 instalado.Você deseja configurar JAVA_HOME como o local raiz do JDK ou JRE, por exemplo:
Se o JDK (kit de desenvolvimento) estiver instalado, o ypu provavelmente desejará que aponte para isso; caso contrário, use o caminho JRE (Java Runtime Environment). Em seguida, convém definir sua variável de ambiente $ PATH para incluir também o diretório bin:
Se você estiver usando o tomcat, também poderá ser necessário configurar CATALINA_HOME para o usuário do tomcat.
Para definir isso para o sistema, você deseja editar seu / etc / profile ou adicionar um arquivo .sh na pasta /etc/profile.d. Para um usuário específico, você pode colocá-lo nos arquivos ~ / .profile ou ~ / .bash_profile dos usuários.
fonte
Abaixo está sempre trabalhando para mim perfeitamente:
Isso significa que eu posso definir JAVA_HOME como /usr/java/jdk1.6.0_31
fonte
Eu considerei o problema de se alguém altera a versão do java sendo usada com:
Então, qualquer código embutido
JAVA_HOME
vai mudar (pelo menos no Centos 6.6 que estou olhando). Ou seja, não há/usr/java
.Não parece o melhor caminho (aberto ao fracasso), mas nos 10 minutos que passei nisso parece o melhor.
Em
/etc/bashrc
I modificou a configuração aJAVA_HOME
ser:Você tem que fazer algo semelhante em MacOSX, mas sem toda a
grep
esed
para analisar o resultado. Certamentealternatives
oferece uma solução igualmente mais fácil.De qualquer forma, espero ter ajudado.
Atualizar
Não, isso seria
JRE_HOME
. O JDK / SDK não está se mostrando tão óbvio (continuarei procurando).O
alternatives
parece ser apenas sobre o JRE por padrão. Recomendo que o @Niels responda ou apenas instale o Javayum
e defino o JAVA_HOME para isso (o truque é onde descobri onde ele foi instalado!).Notei que
java_1.8.0
é um link simbólico para/etc/alternatives/java_sdk_1.8.0
e, portanto, defina meu $ JAVA_HOME como/usr/lib/jvm/java_1.8.0
. Na/etc/bashrc
.fonte
Isso é estranho, o ponto principal de ter uma variável de ambiente JAVE_HOME é que você não precisa especificar o caminho para cada programa, ele pode obter esse caminho procurando por essa variável.
De qualquer maneira, a maneira correta de encontrar a variável de ambiente para JAVA_HOME é usar echo:
A execução desse comando exibirá o caminho, independentemente da versão em execução, na linha de comando.
fonte
re: Centos7, consulte o arquivo /etc/java/java.conf.
nele JAVA_HOME é indicado para estar localizado no seguinte diretório: / usr / lib / jvm / java
Eu verifiquei, é a versão correta do jdk que eu carreguei via yum, e assim ...
meu ambiente não tem JAVA_HOME definido por padrão, portanto, eu o defino em .bash_profile
fonte
Descobri que o gerenciador de pacotes pode ser colocado em vários locais; portanto, usando quais (você precisará instalá-lo explicitamente se usar um contêiner) o seguinte é um pouco menos quebradiço
ou para JRE
fonte