Altera o PATH no Debian 7.1.0 para Java

2

Eu gostaria de mudar o PATH do meu sistema Debian 7.1.0 para linkar para a versão Java que eu quero. Se eu entrar no terminal:

java -version

Eu recebo:

java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1~deb7u1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

Esta é a versão Java pré-instalada pela minha distribuição. Já baixei a atualização do Sun JDK 1.7.0 25. Gostaria que meu sistema usasse essa versão em vez da versão pré-instalada. Fiz duas alterações no meu PATH em .bashrc , mas ainda tenho a mesma versão do Java.

Meu arquivo .bashrc contém as linhas:

PATH="PATH":/usr/local/jdk1.7.0_25
export PATH
    
por Mazzy 05.09.2013 / 18:46

3 respostas

4

O que você realmente quer é isso em ~/.profile (ou .bashrc se você insistir, mas .profile é melhor ):

PATH=$PATH:/usr/local/jdk1.7.0_25/bin
export PATH

Você estava perdendo o $ PATH original porque estava usando "PATH" em vez de $PATH , por isso foi interpretado como uma string simples e tudo o que você estava fazendo era configurar seu caminho para:

PATH:/usr/local/jdk1.7.0_25/bin
    
por 05.09.2013 / 19:38
4

Você provavelmente deseja que o oracle java bin seja adicionado (não anexado) ao seu caminho:

export PATH=/usr/local/jdk1.7.0_25/bin:$PATH

Como o caminho de execução é uma lista de diretórios que estão marcados na ordem (então se você anexar o jdk7 bin a $ PATH, a distro java encontrada será encontrada primeiro em vez disso).

I lost the original PATH and the possibility to use all the command

Observe a diferença entre esses dois:

PATH=$PATH
PATH=PATH

Quando você associar a uma variável shell, use apenas a palavra PATH . Quando você faz referência a uma variável de shell, você deve prefixar com $ . Por exemplo:

FOO="hello"
FOO=$FOO" world"

$FOO agora é igual a "hello world". Mas:

FOO="hello"
FOO=FOO" world"

$FOO agora é igual a "FOO world".

Não sobrescreva $PATH - anexe ou anexe a ele.

    
por 05.09.2013 / 19:39
0

Além de ~/.profile e ~/.bashrc , o caminho Java também pode ser definido via

/etc/profile.d/jdk.sh

Se você der uma olhada em /etc/profile , verá que ele cria todos os scripts dentro de /etc/profile.d/ .

    
por 07.12.2018 / 14:41