Se você está executando programas Java no Ubuntu usando Eclipse, Maven ou Netbeans etc, você precisa definir JAVA_HOME
ao seu PATH
. Caso contrário, o sistema irá reclamar que “a variável de ambiente JAVA_HOME não está definida”.
Nesse tutorial para iniciantes, vou mostrar os passos para definir corretamente a variável JAVA_HOME
no Ubuntu. Os passos devem ser válidos para a maioria das outras distribuições Linux também.
O processo consiste nos seguintes passos:
- Certificar-se que Java Development Kit (JDK) está instalado.
- Encontrar o local correto do JDK executável.
- Definir a variável
JAVA_HOME
e fazer a mudança permanente.
Passo 1: Verifique se o JDK está instalado
A maneira mais simples de verificar se o Java Development Kit (JDK) está instalado no seu sistema Linux é executando este comando:
javac --version
O comando acima verifica a versão do compilador Java. Se ele estiver instalado, ele irá mostrar a versão Java.
Compilador Java está instalado
Se mostrar um erro, como "comando javac
não foi encontrado", você terá que instalar o JDK.
Compilador Java não está instalado
Se o compilador Java não está instalado no seu sistema, instale o Java Development Kit usando este comando:
sudo apt install default-jdk
Isto irá instalar a versão padrão do Java em sua versão atual do Ubuntu. Se você precisar de alguma outra versão específica Java, você terá que especificá-lo ao instalar o Java no Ubuntu.
Depois de ter a certeza que o compilador Java está presente em seu sistema, é hora de encontrar sua localização.
Passo 2: Obter a localização do executável JDK executável
O executável é geralmente localizado no diretório /usr/lib/jvm
. Eu não vou te deixar adivinhando onde ele deve estar. Em vez disso, vamos descobrir o caminho do executável Java.
Use o which
comando para obter a localização do compilador Java executável:
which javac
O problema aqui é que o local que dá é realmente um link simbólico. Você vai ter que segui-lo algumas vezes:
Um método mais fácil é seguir o link simbólico e chegar ao arquivo executável real diretamente usando este comando:
readlink -f `which java`
O comando readlink
segue um link simbólico. Eu tenho usado which java
entre apóstrofos. Isso é chamado de substituição de comando e substitui o comando com sua saída. Então, basicamente, o comando acima é equivalente a readlink -f /usr/bin/java
neste caso.
No meu exemplo, a localização do arquivo executável é /usr/lib/jvm/java-11-openjdk-amd64/bin/java
. Pode ser diferente para você. Copie o caminho correto que você tem do comando acima no seu sistema. Você sabe, você pode copiar e colar no terminal Ubuntu.
Passo 3: Ajuste a variável JAVA_HOME
Agora que você tem a localização, use-a para definir a variável de ambiente JAVA_HOME
:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java
Verifique o valor de JAVA_HOME
:
echo $JAVA_HOME
Tente executar o seu programa ou projeto no terminal e veja se funciona.
Mas ainda não acabou. A variável JAVA_HOME está apenas declarada temporariamente. Se você fechar o terminal ou iniciar uma nova sessão, ela estará novamente vazia.
Para definir a variável JAVA_HOME
‘permanentemente’, você deve adicioná-la para o arquivo bashrc
no seu diretório HOME
.
Você pode usar o editor Nano para editar arquivos no terminal Linux. Se você não quer isso e quer ter uma abordagem copiar e colar simples, use os seguintes comandos:
Faça backup do arquivo bashrc
(no caso de você estragar tudo, você pode recuperá-lo):
cp ~/.bashrc ~/.bashrc.bak
Em seguida, use o comando echo para anexar o comando de exportação que você usou no início desta seção. Altere o comando abaixo para usar o caminho correto como indicado por seu sistema em.
echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java" >> ~/.bashrc
Verifique se foi corretamente adicionado ao final do arquivo:
tail -3 ~/.bashrc
O comando acima tail
mostrará as últimas 3 linhas do arquivo especificado.
Aqui está a saída inteira dos três comandos acima.
Agora, mesmo se você sair da sessão ou reiniciar o sistema, a variável JAVA_HOME
ainda será definida para o valor especificado. Isso é o que você quer, certo?
Observe que, se você alterar a versão java padrão no futuro, você terá que alterar o valor de JAVA_HOME
e apontá-lo para o caminho executável correto.
Espero que este tutorial tenha ajudado você a definir o JAVA_HOME
.
Se você ainda estiver enfrentando problemas ou tiver dúvidas ou sugestões, por favor me avise nos comentários.