Nota: Essas soluções funcionam para várias versões do Java, incluindo Java 8 e o novo Java 13, e para qualquer outra versão anterior do Java coberta pelos gerenciadores de versão listados. Isso inclui JDKs alternativos do OpenJDK, Oracle, IBM, Azul, Amazon Correto, Graal e muito mais. Trabalhe facilmente com Java 7, Java 8, Java 9, Java 10, Java 11, Java 12 e Java 13!
Você tem algumas opções de como fazer a instalação, além de gerenciar a comutação JDK. A instalação pode ser feita pelo Homebrew, SDKMAN , Jabba ou uma instalação manual. A troca pode ser feita por JEnv , SDKMAN , Jabba ou manualmente, definindo JAVA_HOME
. Todos estes são descritos abaixo.
Instalação
Primeiro, instale o Java usando o método que você preferir, incluindo Homebrew, SDKMAN ou uma instalação manual do arquivo tar.gz. As vantagens de uma instalação manual é que o local do JDK pode ser colocado em um local padronizado para o Mac OSX.
Instale com SDKMAN
Este é um modelo simples, pois lida com a alternância de instalação e versão, com a ressalva de que ele instala o JDK em um diretório não padrão.
< veja abaixo "Instalando e alternando versões com o SDKMAN" >
Instale usando o Jabba
Este também é um modelo simples, pois a instalação e a alternância de versões são tratadas pela mesma ferramenta. As instalações são feitas em um diretório não padrão.
< veja abaixo "Instalando e alternando versões com o Jabba" >
Instale manualmente a partir da página de download do OpenJDK:
Faça o download do OpenJDK para Mac OSX em http://jdk.java.net/ (por exemplo, Java 13 )
Desarquive o tar do OpenJDK e coloque a pasta resultante (ou seja jdk-13.jdk
) na sua /Library/Java/JavaVirtualMachines/
pasta, pois esse é o local padrão e esperado das instalações do JDK. Você também pode instalar onde quiser, na realidade.
Instale com Homebrew
A versão do Java disponível no Homebrew Cask anterior a 3 de outubro de 2018 era de fato a Oracle JVM. Agora, no entanto, ele foi atualizado para o OpenJDK. Certifique-se de atualizar o Homebrew e você verá a versão mais recente disponível para instalação.
instale o Homebrew se você ainda não o fez. Verifique se está atualizado:
brew update
Adicione a torneira de barris, se você ainda não (ou não está mais vendo versões mais antigas do Java na etapa 3):
brew tap homebrew/cask-versions
e para as versões AdoptOpenJDK , adicione esse toque:
brew tap adoptopenjdk/openjdk
Esses barris alteram suas versões do Java frequentemente, e pode haver outros toques por aí com versões adicionais do Java.
Procure por versões instaláveis:
brew search java
ou para as versões AdoptOpenJDK:
brew search jdk
Verifique os detalhes na versão que será instalada:
brew cask info java
ou para a versão AdoptOpenJDK:
brew cask info adoptopenjdk
Instalar uma versão específica do JDK, como java11
, adoptopenjdk8
, ou apenas java
ou adoptopenjdk
para a corrente. Por exemplo:
brew cask install java
Você também pode usar o caminho completo para versões mais antigas:
brew cask install homebrew/cask-versions/java11
E eles serão instalados no /Library/Java/JavaVirtualMachines/
local tradicional esperado no Mac OSX.
Outras opções de instalação:
Alguns outros tipos de openJDK são:
As versões do OpenJDK certificadas pela Azul Systems Java Zulu podem ser instaladas seguindo as instruções em seu site .
O Zulu® é uma compilação certificada do OpenJDK que é totalmente compatível com o padrão Java SE. O Zulu é 100% de código aberto e pode ser baixado gratuitamente. Agora, desenvolvedores de Java, administradores de sistema e usuários finais podem aproveitar todos os benefícios do Java de código aberto com flexibilidade de implantação e controle sobre o tempo de atualização.
As versões do Amazon Correto OpenJDK oferecem um pacote de instalação fácil para a versão 8 ou 11 (outras versões estão chegando) e são instaladas no/Library/Java/JavaVirtualMachines/
diretóriopadrãono Mac OSX.
O Amazon Corretto é uma distribuição sem custo, multiplataforma e pronta para produção do Open Java Development Kit (OpenJDK). O Corretto vem com suporte de longo prazo que incluirá aprimoramentos de desempenho e correções de segurança. A Amazon executa o Corretto internamente em milhares de serviços de produção e o Corretto é certificado como compatível com o padrão Java SE. Com o Corretto, você pode desenvolver e executar aplicativos Java em sistemas operacionais populares, incluindo Linux, Windows e macOS.
Onde está o meu JDK?!?!
Para encontrar locais dos Java JDKs instalados anteriormente nos locais padrão do sistema, use:
/usr/libexec/java_home -V
Correspondência de Java Virtual Machines (6):
13, x86_64: "OpenJDK 13" /Library/Java/JavaVirtualMachines/openjdk-13.jdk/Contents/Home 12, x86_64: "OpenJDK 12" / Biblioteca / Java / JavaVirtualMachines / jdk-12 .jdk / Conteúdo / Home
11, x86_64: "Java SE 11" /Biblioteca/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
10.0.2, x86_64: "Java SE 10.0.2" / Library / Java / JavaVirtualMachines /jdk-10.0.2.jdk/Contents/Home
9, x86_64: "Java SE 9" /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
1.8.0_144, x86_64: "Java SE 8" / Biblioteca /Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
Você também pode relatar apenas o local de uma versão Java específica usando -v
. Por exemplo para Java 13:
/usr/libexec/java_home -v 13
/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Conhecer a localização dos JDKs instalados também é útil ao usar ferramentas como JEnv, adicionar uma instalação local ao SDKMAN ou vincular um JDK do sistema no Jabba - e você precisa saber onde encontrá-los.
Se você precisar encontrar os JDKs instalados por outras ferramentas, verifique estes locais:
- O SDKMAN instala no
~/.sdkman/candidates/java/
- O Jabba instala para
~/.jabba/jdk
Alternando versões manualmente
O executável Java é um wrapper que usará o que o JDK estiver configurado JAVA_HOME
, para que você possa alterar também o JDK em uso.
Por exemplo, se você instalou ou desmarcou o JDK 13 para /Library/Java/JavaVirtualMachines/jdk-13.jdk
se esse for o número de versão mais alto, ele já deve ser o padrão; caso contrário, você pode simplesmente definir:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
E agora, qualquer que seja o executável Java no caminho, verá isso e usará o JDK correto.
O uso do /usr/libexec/java_home
utilitário conforme descrito anteriormente ajuda a criar aliases ou a executar comandos para alterar as versões Java, identificando os locais das diferentes instalações do JDK. Por exemplo, criando aliases de shell no seu .profile
ou .bash_profile
para alterar JAVA_HOME
para você:
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
export JAVA_10_HOME=$(/usr/libexec/java_home -v10)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
export JAVA_12_HOME=$(/usr/libexec/java_home -v12)
export JAVA_13_HOME=$(/usr/libexec/java_home -v13)
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
alias java10='export JAVA_HOME=$JAVA_10_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
alias java12='export JAVA_HOME=$JAVA_12_HOME'
alias java13='export JAVA_HOME=$JAVA_13_HOME'
# default to Java 13
java13
Para alterar as versões, basta usar o alias.
java8
java -version
versão java "1.8.0_144"
Obviamente, a configuração JAVA_HOME
manualmente também funciona!
Alternando versões com JEnv
O JEnv espera que os Java JDKs já existam na máquina e possam estar em qualquer local. Normalmente você encontrará Java JDKs instalados em/Library/Java/JavaVirtualMachines/
. O JEnv permite definir a versão global do Java, uma para o shell atual e uma versão local por diretório, útil quando alguns projetos exigem versões diferentes das outras.
Instale o JEnv, caso ainda não o tenha, instruções no site http://www.jenv.be/ para instalação manual ou usando o Homebrew.
Adicione qualquer versão Java ao JEnv ( ajuste o diretório se você o tiver colocado em outro lugar ):
jenv add /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Defina sua versão global usando este comando:
jenv global 13
Você também pode adicionar outras versões existentes usando de jenv add
maneira semelhante e listar as que estão disponíveis. Por exemplo Java 8:
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
jenv versions
Veja os documentos JEnv para mais comandos. Agora você pode alternar entre versões do Java (Oracle, OpenJDK, outro) a qualquer momento, para todo o sistema, para shells ou por diretório local.
Para ajudar a gerenciar JAVA_HOME
enquanto usa o JEnv, você pode adicionar o plug - in de exportação para fazer isso por você.
$ jenv enable-plugin export
You may restart your session to activate jenv export plugin echo export plugin activated
O plug-in de exportação pode não ser ajustado JAVA_HOME
se já estiver definido, portanto, talvez seja necessário limpar essa variável em seu perfil para que possa ser gerenciada pelo JEnv.
Você também pode usar jenv exec <command> <parms...>
para executar comandos únicos JAVA_HOME
e PATH
definir corretamente esse comando, o que pode incluir a abertura de outro shell.
Instalando e alternando versões com o SDKMAN
O SDKMAN é um pouco diferente e lida com a instalação e a alternância. O SDKMAN também coloca os JDKs instalados em sua própria árvore de diretórios, que normalmente é~/.sdkman/candidates/java
. O SDKMAN permite definir uma versão padrão global e uma versão específica para o shell atual.
Instale o SDKMAN em https://sdkman.io/install
Listar as versões Java disponíveis para garantir que você saiba o ID da versão
sdk list java
Instale uma dessas versões, por exemplo, Java 13:
sdk install java 13.0.0-open
Faça 13 a versão padrão:
sdk default java 13.0.0-open
Ou mude para 13 para a sessão:
sdk use java 13.0.0-open
Ao listar as versões disponíveis para instalação usando o comando list, você verá uma ampla variedade de distribuições de Java:
sdk list java
E instale versões adicionais, como o JDK 8:
sdk install java 8.0.181-oracle
O SDKMAN pode trabalhar com versões existentes instaladas anteriormente. Basta fazer uma instalação local fornecendo seu próprio rótulo de versão e a localização do JDK:
sdk install java my-local-13 /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
E use-o livremente:
sdk use java my-local-13
Mais informações estão disponíveis no Guia de uso do SDKMAN, juntamente com outros SDKs que podem ser instalados e gerenciados.
O SDKMAN gerenciará automaticamente o seu PATH
e JAVA_HOME
para você conforme você altera as versões.
Instalando e alternando versões com o Jabba
O Jabba também lida com a instalação e a troca. O Jabba também coloca os JDKs instalados em sua própria árvore de diretórios, que normalmente é~/.jabba/jdk
.
Instale o Jabba seguindo as instruções na página inicial .
Lista de JDKs disponíveis
jabba ls-remote
Instale o Java JDK 12
jabba install openjdk@1.12.0
Use-o:
jabba use openjdk@1.12.0
Você também pode usar nomes alternativos de versões, vincular a JDKs já instalados e encontrar uma mistura de JDKs interessantes, como GraalVM, Adopt JDK, IBM JDK e muito mais. O guia de uso completo também está disponível na página inicial.
O Jabba gerenciará automaticamente o seu PATH
e JAVA_HOME
para você conforme você altera as versões.