No Ubuntu, gostaria de alternar minha variável de ambiente JAVA_HOME entre os Java 5 e 6.
Abro um terminal e digito o seguinte para definir a variável de ambiente JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
E nessa mesma janela do terminal, digite o seguinte para verificar se a variável de ambiente foi atualizada:
echo $JAVA_HOME
E vejo /usr/lib/jvm/java-1.5.0-sun, que é o que espero ver. Além disso, modifico ~ / .profile e defino a variável de ambiente JAVA_HOME como /usr/lib/jvm/java-1.5.0-sun.
E agora, para o problema - quando abro uma nova janela de terminal e verifico minha variável de ambiente JAVA_HOME digitando echo $ JAVA_HOME Eu vejo que minha variável de ambiente JAVA_HOME foi revertida para o Java 6. Quando reinicializo minha máquina (ou log dentro e fora, suponho) que a variável de ambiente JAVA_HOME esteja definida como Java 5 (presumivelmente por causa da modificação que fiz no meu ~ / .profile).
Existe uma maneira de contornar isso para que eu possa alterar meu ambiente JAVA_HOME sem precisar fazer logoff e logon novamente (E fazer com que essa alteração de variável de ambiente permaneça em todas as novas janelas de terminal)?
fonte
~/.profile
arquivo é lido apenas quando você faz logon no Ubuntu; portanto, se você fizer logout / logon, o JAVA_HOME será definido para todos os terminais e quaisquer outros aplicativos executados. Se você definir JAVA_HOME,~/.bashrc
ele será visto apenas por aplicativos executados no terminal.Respostas:
Coloque as variáveis de ambiente no
/etc/environment
arquivo global :Execute "source / etc / environment" em cada shell em que você deseja que as variáveis sejam atualizadas:
Verifique se funciona:
Ótimo, não é necessário fazer logout.
Se você deseja definir a variável de ambiente JAVA_HOME apenas no terminal, defina-a no arquivo ~ / .bashrc .
fonte
/etc/environment
é especial e não permite a substituição de variáveis, por exemploJRE_HOME=${JAVA_HOME}/jre
, não funcionará.Isso provavelmente resolverá seu problema: https://help.ubuntu.com/community/EnvironmentVariables
fonte
Tente estas etapas.
--Vamos editar "etc \ profile". As variáveis de ambiente devem ser inseridas na parte inferior do arquivo. Como o Ubuntu não dá acesso à pasta raiz, teremos que usar alguns comandos no terminal
Passo 1: Inicie o Terminal. Digite o comando:
gksudo gedit /etc/profile
Etapa 2: O arquivo de texto do perfil será aberto. Insira as variáveis de ambiente na parte inferior da página ........... Por exemplo:
export JAVA_HOME=/home/alex/jdk1.6.0_22/bin/java
passo 3: salve e feche o arquivo. Verifique se as variáveis de ambiente estão definidas usando o comando echo ........ Ex.
echo $PATH
fonte
Você precisa colocar a definição de variável no
~/.bashrc
arquivo.Na página de manual do bash:
fonte
Tradicionalmente, se você deseja alterar a variável nas janelas do terminal, defina-a no
.bashrc
arquivo, que é originado cada vez que um novo terminal é aberto..profile
O arquivo não é originado sempre que você abre um novo terminal.Veja a diferença entre .profile e .bashrc em questão: qual é a diferença entre .bashrc, .bash_profile e .environment?
.bashrc
deve resolver seu problema. No entanto, não é a solução adequada, pois você está usando o Ubuntu. Veja a página de ajuda relevante do Ubuntu " Variáveis de ambiente para toda a sessão ". Portanto, não é de admirar que.profile
isso não funcione para você. Eu uso o Ubuntu 12.04 e xfce. Eu configurei o meu.profile
e ele simplesmente não está entrando em vigor mesmo se eu sair e entrar. Experiência semelhante aqui . Então você pode ter que usar.pam_environment
arquivo e esquecer totalmente.profile
, e.bashrc
. E NOTE que.pam_environment
não é um arquivo de script.fonte
Dê uma olhada
bash(1)
, você precisa de um shell de login para pegar a~/.profile
, ou seja, a-l
opção.fonte
Sei que essa é uma pergunta longa e fria, mas surge sempre que há uma nova ou maior versão do Java. Agora, isso se aplica facilmente às trocas 6 e 7.
Eu fiz isso no passado com
update-java-alternatives
: http://manpages.ubuntu.com/manpages/hardy/man8/update-java-alternatives.8.htmlfonte
Depois de fazer alterações no .profile, é necessário executar o arquivo para que as alterações entrem em vigor.
Feito isso, o comando echo funcionará.
fonte
~/.profile
vez de./.profile
.