Alternando a JDK com links simbólicos
Esse artigo é para quem precisa alternar entre as versões do JDK de forma simples e com poucos comandos com Powershell. Imagina um cenário em que o programador sempre utilizou a versão do Java JDK, mas por necessidades de projeto (entrou numa empresa, conseguiu um projeto para desenvolver), precisa usar outra versão do JDK. Vou monstrar como fazer isso com poucos comandos.
O que são links simbólicos e variáveis de ambiente?
Antes de começarmos, é importante entender dois conceitos:
- Links simbólicos: funcionam como "atalhos" avançados no sistema operacional, permitindo apontar um caminho para outro diretório sem precisar movê-lo.
- Variáveis de ambiente: são configurações do sistema que informam onde certos programas estão instalados, facilitando o uso no terminal.
1º passo - Escolher a versão do JDK
No site oficial da Oracle, escolha a sua versão do Java JDK. Você pode tanto procurar "JAVA JDK numeroDaVersao" no google ou seguir o link que vai para o Java Archives,onde estão hospedadas as antigas versões disponíveis para a comunidade https://www.oracle.com/br/java/technologies/downloads/archive/
2º passo - Instalar a versão desejada do JDK no computador
Baixe o instaldor do Java no seu computador de acordo com o sistema operacional instalado. Depois faça a instalação padrão.
3º passo - Definindo as variáveis de ambiente
Antes de criar o link simbólico, precisamos garantir que as variáveis de ambiente estejam corretamente configuradas. É possível definir as variáveis de ambiente através das propriedades do sistema ou ainda pelas linhas de comando do powershell. Para isso, siga os passos abaixo:
Definindo o JAVA_HOME e o Path pelas propriedades do sistema
Definindo o JAVA_HOME e o Path pelo powerShell
- Abra o PowerShell como administrador.
- Execute o comando (É preciso saber onde o Java foi instalado)
C:\\DevPrograms\\java\\oracle\\<pasta_com_versao_desejada> --> É o caminho onde o java foi instalado (ver onde o seu java está)
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\\DevPrograms\\java\\oracle\\<pasta_com_versao_desejada>", [System.EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\\DevPrograms\\java\\oracle\\<pasta_com_versao_desejada>\\bin", [System.EnvironmentVariableTarget]::Machine)
Para confirmar se as variáveis foram definidas corretamente, rode os comandos:
echo $env:JAVA_HOME
echo $env:Path
4º passo - Criando um link simbólico
Com o JDK instalado e as variáveis de ambiente configuradas, execute o PowerShell como administrador e digite o comando abaixo:
New-Item -ItemType SymbolicLink -Path "C:\DevProgramms\java\oracle\current" -Target "C:\DevProgramms\java\oracle\jdk11" -Force
New-Item
→ Comando usado para criar um novo item (arquivo, diretório ou link).-ItemType SymbolicLink
→ Especifica que o item criado será um link simbólico.-Path "C:\DevProgramms\java\oracle\current"
→ Define onde o link simbólico será criado. Neste caso, o link terá o nomecurrent
e ficará dentro de"C:\DevProgramms\java\oracle"
.-Target "C:\DevProgramms\java\oracle\jdk11"
→ Indica o destino do link simbólico. Aqui,current
apontará para a pastajdk11
, que contém a instalação do JDK 11.-Force
→ Força a criação do link, substituindo um existente caso já tenha um com o mesmo nome.
🎯 O que isso faz na prática?
- O diretório
"C:\DevProgramms\java\oracle\current"
não será uma pasta real, mas um atalho avançado que aponta para"C:\DevProgramms\java\oracle\jdk11"
.
Isso permite trocar rapidamente de versão do JDK sem alterar caminhos em variáveis de ambiente, pois sempre é possível fazer o link current
apontar para outra versão, como jdk11
ou jdk17
.
5º passo - usando comando no Power Shell com a versão de JDK desejada
Para verificar se a versão do JDK foi alterada corretamente, execute o seguinte comando no PowerShell. Se o comando mostrar a versão esperada, então a configuração está correta. Caso contrário, tente reiniciar o computador ou rodar novamente os comandos das variáveis de ambiente.
java --version