Adicionando JAVA_HOME (JDK) em .bashrc

3

Acabei de instalar o Ubuntu e sou o Java 7u55 (JDK) e estou tentando configurar o JAVA_HOME como uma variável de ambiente.

Em ~/.bashrc I adicionado:

# Exports
JAVA_HOME=/home/myuser/sandbox/java/7u55/jdk1.7.0_55
export PATH=$PATH:JAVA_HOME

No entanto, quando eu fecho o terminal e abro um novo shell e digito which java ou java -version o Ubuntu não parece saber do que estou falando (diz que o programa java pode ser encontrado em um dos vários pacotes e me pede para usar o sudo apt-get para instalar um deles).

O que estou fazendo de errado?

    
por zharvey 20.04.2014 / 13:04

3 respostas

6

Primeiro, você tem um erro de digitação na linha de exportação. Deve ser

export PATH=$PATH:$JAVA_HOME/bin

Sem espaço, adicione um caractere $ antes de JAVA_HOME, adicione /bin

No entanto, corrigir a linha acima pode não resolver o seu problema ao instalar o java. A maneira mais fácil de instalar o java é usando o webup8 ppa:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

Após o último comando, o script baixará automaticamente o jdk do site da Oracle e o instalará para você. Você pode ler o tutorial aqui .

    
por pram 20.04.2014 / 13:37
2

Você definiu a variável de ambiente JAVA_HOME , mas esse é apenas um valor usado por aplicativos que desejam saber onde o JRE ou o JDK estão.

O PATH é o que seu shell está procurando quando você tenta executar executáveis. Então, quando você digita java -version , ele está procurando na pasta JDK. Observe que java está realmente dentro de $JAVA_HOME/bin . É por isso que não consegue encontrá-lo.

Essa é a explicação.

A correção é adicioná-lo ao $PATH corretamente:

export PATH=$PATH:JAVA_HOME/bin

ou para executar update-alternatives e adicione o caminho JDK às alternativas java do sistema.

Por exemplo

update-alternatives --install "/usr/bin/java" "java" "/home/myuser/sandbox/java/7u55/jdk1.7.0_55/bin/java" 3
    
por Mendhak 20.04.2014 / 13:40
1

Sqoop não está encontrando o jdk, por isso esse erro está vindo. Por padrão, o jre é usado e não possui o arquivo javac, que é necessário para compilar os jobs do sqoop.

Solução:

se o jdk estiver instalado no sistema, configure o mesmo no arquivo hadoop-env.sh como:

# The java implementation to use.  Required.
export JAVA_HOME=/opt/jdk1.8.0_151/

E no arquivo .bash_profile.

como:

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/opt/jdk1.8.0_151/bin

execute a origem. .bash_profile

isso é agora teste de trabalho sqoop vai funcionar bem.

    
por dinesh rajput 10.02.2018 / 21:42