Pessoal, boa noite. Tô usando Linux Mint, instalei o JDK mas não consigo executar javac -version no terminal, a exemplo do Windows talvez tenha que habilitar alguma variável de ambiente mas não sei como fazer isto no Linux?
Precisa configurar a variável PATH para apontar para o diretório bin do seu JDK. Há mais de 10 anos não faço isso no Linux e não vou conseguir te ajudar de bate e pronto, mas dando uma Googlada, tem bastante coisa: https://www.google.com/search?q=how+to+set+path+linux+mint&oq=how+to+set+path+linux+mint
Fala mestre.
Primeiramente, faça o seguinte comando via terminal para saber qual ou quais versões do Java vc tem instalado:
sudo update-alternatives --config java
Copie o caminho da sua versão do JDK.
Este caminho vc vai usar pra setar a variável $JAVA_HOME. Pra isso execute o seguinte comando (no meu caso estou usando o OpenJDK11):
export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/"
Depois execute:
source /etc/environment
E depois, execute:
echo $JAVA_HOME
Se aparecer isso é por que deu certo:
/usr/lib/jvm/java-11-openjdk-amd64/
Agora faça o mesmo para o PATH. Execute:
export PATH=$PATH:$JAVA_HOME/bin
Ao executar o comando abaixo deve ser mostrado o caminho do PATH.
echo $PATH
Depois só executar novamente o:
source /etc/environment
Feito isso, rode:
javac -version
java -version
To respondendo pelo celular mas acho que é isso.
Boa sorte .
Dependendo de como vc instalou não é necessário mexer na PATH.
Se vc usou o comando abaixo não precisa nem se preocupar.
sudo apt install default-jdk
@andremeiras o comando que vc sugeriu já serve justamente pra evitar os passos manuais que vc orientou.
Quando vc executa o comando abaixo:
sudo update-alternatives --config java
Ele vai listar todas as versões do Java instalados (se houver alguma instalada) e vai pedir pra vc entrar com um número que representa a versão que vc quer que fique ativa.
Se usar o update-alternatives
, rode também o comando abaixo para configurar o compilador:
sudo update-alternatives --config javac
Entendi. Mas e no caso de eu ter mais de uma versão do Java?
Por exemplo, eu tinha a 15, 11 e a 8, e estava com a 15 como default. Rodei o update-alternatives e troquei pra 11, mas ao rodar um projeto maven por exemplo ele não encontrava as variáveis de ambiente, no caso a JAVA_HOME.
Outro detalhe é que, eu tenho o ZSH instalado no meu terminal. Quando eu executo “source /etc/environment” ele não encontra mais o JAVA_HOME, aí tenho que setar novamente. Ah… não sei se tem algo relacionado, mas eu uso Java pelo VSCode.
Vish, pior que eu não sei o que pode ser. Se vc pudesse criar um projetinho minimo que demonstre o problema eu poderia testar aqui pra ver.
No meu caso eu uso o Ubuntu, não o Mint, mas como o Mint é derivado do Ubuntu eu assumo que sejam iguais neste aspecto.
Eu uso o JDK instalado dos repositórios oficiais do Ubuntu e também uso VS Code para programar.
A diferença é que eu não costumo usar o Maven, só o Gradle.
E quando eu uso o update-alternatives
ele configura certinho.
Pesoal, eu baixei e executei o pacote .deb do site da Oracle https://www.oracle.com/java/technologies/javase-jdk15-downloads.html
O comando java -version retorna:
java -version
openjdk version “11.0.10” 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
O comando javac -version retorna:
javac -version
Comando ‘javac’ não encontrado, mas poder ser instalado com:
sudo apt install openjdk-11-jdk-headless # version 11.0.10+9-0ubuntu1~20.04, or
sudo apt install default-jdk # version 2:1.11-72
sudo apt install openjdk-13-jdk-headless # version 13.0.4+8-1~20.04
sudo apt install openjdk-14-jdk-headless # version 14.0.2+12-1~20.04
sudo apt install openjdk-8-jdk-headless # version 8u282-b08-0ubuntu1~20.04
sudo apt install ecj # version 3.16.0-1
mesmo depois de executar os procedimentos que o @andremeiras sugeriu
E vc realmente precisa usar o JDK da Oracle? Se não, desinstala tudo, desfaz todos os passos e roda o comando abaixo:
sudo apt install default-jdk
Na verdade acho que nem precisa desfazer nada, só rodar o comando acima que deve funcionar o javac
.
O professor na faculdade está usando Java 15, O Open JDK está em versão anterior, se eu compilar em versões anteriores do Java será que quando fizer os trabalhos em grupo com colegas que estão com esta versão de Java 15 no Windows, eu não terei problemas?
Eu faria o que o @wldomiciano falou tbm, mas como tem essa questão de compatibilidade da versão que o professor está usando, aí é complicado.
Problema maior que vejo é que teu professor tá usando uma versão que não é LTS (long term support). Eu acho que dá pra usar a 11 de boa que é LTS.
Eu instalei o JDK do Java 15, naveguei pelo Nemo até o diretório /usr/lib/jvm e vi que lá tem pasta:
java-11-openjdk-amd64 e jdk-15.0.2 (está eu instalei pois é a versão que o professor pediu mas não instalei a 11). Quero usar a versão 15, como faço? Preciso desisntalar esta 11?
O Java JDK tem versão LTS e não LTS? Meu professor e a galera em peso da sala usa Windows e sou um dos poucos que está com Linux pra programar Java
Tem sim. Atualmente a versão 8 e 11 são LTS. Não precisa desinstalar não. Só fazer o comando:
sudo update-alternatives --config java
E escolher qual vc quer usar. Vai ter um * do lado da versão que está padrão. Só digitar o número correspondente a versão que vc vai usar.
Faça tbm o mesmo pro:
sudo update-alternatives --config javac
Entendi. Só será um problema se os seus colegas e professor usarem recursos que só tem no Java 15.
Mas então vamos focar em habilitar o seu JDK 15.
Como vc já viu que existe a pasta /usr/lib/jvm/jdk-15.0.2
, basta vc executar os comandos baixo:
# Primeiro este:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-15.0.2/bin/java 1
# E depois este:
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-15.0.2/bin/javac 1
Agora basta selecionar a versão que vc quiser:
sudo update-alternatives --config java
sudo update-alternatives --config javac
Quando vc rodar os comandos acima ele vai te mostrar a lista de JDKs instalados no seu computador, aí basta vc digitar o número reference à versão 15.
Olhando no print acima vc pode ver que no meu caso eu digitei o número 3 pra poder selecionar o JDK 15.
Vlw, deu certo.
Muito obrigado
Kk… Ufa, que bom!
Vlw mesmo, tô começando a aprender Java e de cara já ter problemas na configuração do ambiente é osso!