Como instalar o OpenJDK 11 no Windows?

269

No passado, a Oracle costumava publicar instaladores executáveis ​​para Windows que:

  • Descompacte arquivos
  • Adicione chaves de registro indicando a versão e o caminho instalados
  • Inclua o JRE no PATH do sistema
  • Registre um desinstalador no Windows.

A partir do Java 11, a versão gratuita do Java ( Oracle OpenJDK ) da Oracle não parece incluir um instalador. É apenas um arquivo zip que contém os binários.

Como devemos instalar o OpenJDK 11 no Windows, visto que as integrações mencionadas não estão mais lá? Eles não são necessários?

Gili
fonte
1
Nunca foi necessário alterar o registro. E quando não está manipulando o sistema, você também não precisa de um desinstalador.
Holger
1
@ Gil usando a variável de ambiente JAVA_HOME ou através do caminho direto na configuração, como o IntelliJ IDEa, não é?
Mikhail Kholodkov 26/09
13
Existe um projeto de comunidade ojdkbuild que fornece instaladores do Windows para o OpenJDK. O JDK 11 ainda não está disponível, mas espero que o obtenhamos em breve.
ZhekaKozlov 27/09/18
1
@Gili wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F#Find_the_JVM nota como Registro não aparecer em qualquer lugar ...
Holger
1
@ Robert bem, sem um plug-in de navegador, painel de controle, ferramenta de atualização automática ou o crapware da barra de ferramentas Ask, não resta muito a instalar.
Holger

Respostas:

339
  1. Extraia o arquivo zip em uma pasta, por exemplo, C:\Program Files\Java\e ele criará uma jdk-11pasta (onde a pasta bin é uma subpasta direta). Você pode precisar de privilégios de administrador para extrair o arquivo zip para este local.

  2. Defina um CAMINHO:

    • Selecione Painel de Controle e, em seguida, Sistema.
    • Clique em Avançado e, em seguida, Variáveis ​​de ambiente.
    • Inclua o local da pasta bin da instalação do JDK na variável PATH em Variáveis ​​do sistema.
    • A seguir, é um valor típico para a variável PATH: C:\WINDOWS\system32;C:\WINDOWS;"C:\Program Files\Java\jdk-11\bin"
  3. Defina JAVA_HOME:

    • Em Variáveis ​​do sistema, clique em Novo.
    • Digite o nome da variável como JAVA_HOME.
    • Digite o valor da variável como o caminho da instalação do JDK (sem a binsubpasta).
    • Clique OK.
    • Clique em Aplicar alterações.
  4. Configure o JDK no seu IDE (por exemplo, IntelliJ ou Eclipse).

Você está pronto.

Para ver se funcionou, abra o prompt de comando e digite java -versione veja se ele imprime o JDK recém-instalado.

Se você deseja desinstalar - basta desfazer as etapas acima.

Nota: Você também pode apontar JAVA_HOMEpara a pasta de suas instalações do JDK e, em seguida, definir a PATHvariável para %JAVA_HOME%\bin. Então, quando você quiser alterar o JDK, altere apenas a JAVA_HOMEvariável e deixe PATHcomo está.

Lior Bar-On
fonte
9
Não esqueça as entradas do registro, que são, por exemplo, usadas pelo Launch4j para encontrar o jre / jdk instalado.
Robert
2
@Ior: Este é apenas um programa que eu sei que usa as entradas do registro. Também pode haver dezenas ou centenas de outros programas usando essas entradas do registro.
Robert
4
Pode ser que sim, mas: a. Eu trabalhei com Java desde a versão 1.1 sem definir o registro - por isso não é obrigatório. b: o registro do Windows é geralmente considerado como um mecanismo a ser evitado (por exemplo, blog.codinghorror.com/was-the-windows-registry-a-good-idea ) - portanto, acho que não deve ser usado, se não especificamente necessário. por exemplo - um erro ao definir um valor pode levar a um erro difícil de recuperar.
Lior Bar-On
25
> Você pode apontar o JAVA_HOME para a pasta onde você possui várias instalações do JDK . Isso está completamente errado. Muitos programas e scripts assumem os pontos JAVA_HOME para a instalação padrão do java (jdk ou jre) e procuram binários em "% JAVA_HOME% \ bin". Portanto, você NÃO PODE apontar JAVA_HOME para a pasta com várias instalações do jdk. Em vez disso, você pode adicionar ao Path o valor "% JAVA_HOME% \ bin;" e depois (quando nova JDK instalado) você pode atualizar JAVA_HOME única
kool79
2
@sarkasronie Veja o código-fonte launch4j: sourceforge.net/p/launch4j/git/ci/Release_launch4j-3_12/tree/… (em HKEY_LOCAL_MACHINE)
Robert
142

AdoptOpenJDK é um novo site hospedado pela comunidade java . Você pode encontrar instaladores .msi para o OpenJDK 8 a 14, que executam todas as coisas listadas na pergunta (Descompactação, chaves do Registro, atualização da variável PATH (e JAVA_HOME), desinstalador ...).

Pimgd
fonte
5
Embora a resposta aceita esteja correta, essa é uma maneira muito mais conveniente de instalar qualquer versão do JDK / JRE
optevo
21

A partir do comentário de @ZhekaKozlov: ojdkbuild possui compilações do OpenJDK (atualmente 8 e 11) para Windows ( zipe msi).

Martin Schröder
fonte
3
Para mim, essas compilações não definiram as variáveis ​​PATH corretamente. No contrato, não posso emitir java -versione obter a saída desejada.
precisa saber é o seguinte
1
Não consigo encontrar o OpenJDK msi. Vou escrever um script e compartilhá-lo em uma resposta hoje mais tarde que extrai e define PATH e JAVA_HOME para a máquina.
vezenkov 16/01/19
1
@vezenkov: Atualize a resposta aqui (é um wiki da comunidade por um motivo) e / ou abra um problema com o projeto, por favor.
Martin Schröder
Para adicionar à resposta aceita, se você estava atualizando de uma versão anterior, tive que reiniciar o servidor para ver a versão do openjdk atualizada na linha de comando.
Desiguy 26/11/19
21

Use o gerenciador de pacotes Chocolatey . É uma ferramenta de linha de comando semelhante ao npm. Depois de instalá-lo, use

choco install openjdk

em um prompt de comandos elevado para instalar o OpenJDK.

Para atualizar uma versão instalada para a versão mais recente, digite

choco upgrade openjdk

Muito simples de usar e especialmente útil para atualizar para a versão mais recente. Sem manipulação manual de variáveis ​​de ambiente do caminho.

Tobias
fonte
3
Observe que isso instalaria a versão mais recente: openjdk-12.0.2_windows-x64
Vadzim
caso você tenha outras versões java instaladas, convém verificar as variáveis ​​do caminho e remover / modificar as antigas.
Ketu
1
@Vadzim choco instala o openjdk11 a partir de hoje, sem mencionar a versão, instala o openjdk-13 e, apenas para observar, ele usará o AdoptOpenJDK como em outras respostas
FIV
1

Você pode usar o Amazon Corretto . É gratuito o uso da distribuição multiplataforma pronta para produção do OpenJDK. Ele vem com suporte de longo prazo que incluirá aprimoramentos de desempenho e correções de segurança. Verifique as instruções de instalação aqui .

Você também pode verificar o Zulu na Azul .

Mais uma coisa que gostaria de destacar aqui é que o Amazon Corretto e o Zulu são compatíveis com TCK. Você pode ver a comparação de compilações do OpenJDK aqui e aqui .

Swapnil
fonte
-3

O desinstalador Oracle Java não remove todos os arquivos.
Verifique se "C: \ ProgramData \ Oracle" existe, há alguns arquivos java no subdiretório. (ex: java.exe, javaw.exe)
Remova-o para impedir a execução de arquivos java incorretos.

craftwar
fonte