Quero fazer alguma programação com o JavaFX mais recente, que requer o Java 8. Estou usando o IntelliJ 13 CE e o Mac OS X 9 Mavericks. Executei o instalador do Java 8 da Oracle e os arquivos parecem ter terminado em
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk
mas as versões anteriores estão em
/System/Library/Java/JavaFrameworks/jdk1.6....
Não sei por que o instalador mais recente coloca isso em /Library
vez de /System/Library
(nem qual a diferença). Mas /usr/libexec/java_home
não encontra o 1.8, portanto, todas as postagens que encontrei sobre como definir sua versão java atual não funcionam. Tentei adicionar um link simbólico para fazer com que pareça que 1,8 esteja no /System/Library...
caminho, mas isso não ajuda. /usr/libexec/java_home -V
ainda lista apenas o antigo Java 1.6.
Ironicamente, o painel de controle "Java" em Preferências do sistema mostra apenas o Java 1.8!
Por que o instalador da Oracle não o coloca onde realmente vai? E como posso solucionar esse problema?
fonte
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/
. A anterior foi para onde foram as versões Java fornecidas pela Apple e, como a Apple não fornece mais Java, o local da instalação mudou.Respostas:
A Oracle tem um histórico ruim para facilitar a instalação e a configuração do Java, mas, usando o Homebrew , o OpenJDK (Java 14) mais recente pode ser instalado com:
Para muitos casos de uso, dependendo de uma versão mais antiga (geralmente Java 8), o projeto AdoptOpenJDK torna isso possível com uma etapa extra.
Usuários existentes do Homebrew podem encontrar
Error: Cask adoptopenjdk8 exists in multiple taps
devido a soluções alternativas anteriores com instruções diferentes. Isso pode ser resolvido especificando completamente o local combrew cask install adoptopenjdk/openjdk/adoptopenjdk8
.fonte
brew update
, você está pronto para usarbrew cask
.brew cask install java
no meu El Capitan Mac e ele está baixandojdk-8u112-macosx-x64.dmg
.Error: Cask 'java8' is unavailable: No Cask with this name exists.
brew tap homebrew/cask-versions
usar e usar #brew cask install homebrew/cask-versions/adoptopenjdk8
Nota: O Oracle Java 8/9/10 não está mais disponível para download público (alteração de licença).
Primeiro instale e atualize o brew do Terminal:
NOVO a partir de junho de 2019
Para instalar os JDKs do AdoptOpenJDK:
VELHO
Java 8:
Java mais recente:
fonte
brew tap
comando na resposta acima. O primeiro e o terceiro comando foram suficientes.Error: Cask 'java8' is unavailable: No Cask with this name exists.
$ brew cask install adoptopenjdk8 Error: Cask adoptopenjdk8 exists in multiple taps: caskroom/versions/adoptopenjdk8 adoptopenjdk/openjdk/adoptopenjdk8
. Eu tenho que usarbrew cask install adoptopenjdk/openjdk/adoptopenjdk8
brew tap homebrew/cask-versions
ebrew cask install adoptopenjdk8
trabalha para mim no Hi Sierra 10.13.6O Java8 não está mais disponível no homebrew,
brew install java8
não funcionará.Em vez disso, use:
Veja este commit para detalhes técnicos.
Observe também que você pode encontrar problemas ao redor
Cask adoptopenjdk8 exists in multiple taps
. Esse é um problema conhecido, atualmente sendo trabalhado, que você pode ver aqui:https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106
Para aqueles que não querem ver os detalhes, aqui está um resumo:
fonte
AdoptOpenJDK/openjdk
em vez de usarhomebrew/cask-versions/adoptopenjdk8
brew cask install homebrew/cask-versions/adoptopenjdk8
trabalhou para mimAcabei de fazer isso no meu MBP e tive que usar
para instalar o java8.
fonte
brew tap caskroom/versions
é necessário antes da instalação do java8brew install homebrew/cask-versions/java8
pela vitória!Uma opção que realmente estou começando a executar aplicativos no meu computador local é usar o Docker. Você pode simplesmente executar seu aplicativo no contêiner oficial do JDK - o que significa que você não precisa se preocupar em configurar tudo em sua máquina local (ou em executar várias versões diferentes do JDK para aplicativos diferentes, etc.)
Embora isso possa não ajudá-lo com seus problemas de instalação atuais, é uma solução que significa que você pode desviar do campo minado de problemas relacionados à tentativa de executar o Java corretamente na sua máquina de desenvolvimento!
Os benefícios são:
Um exemplo muito simples:
Crie um
Dockerfile
:java:8
- para usar Java 7, você pode simplesmente especificar:java:7
)/usr/src/myapp
dentro do contêinerCrie um
docker-compose.yml
arquivo:Agora, suponha que tenhamos este arquivo Java:
HelloWorld.java
Portanto, temos a seguinte estrutura de arquivos:
Você pode fazer várias coisas em Java, como:
compilar:
corre:
docker-compose run
- executa um comando de dentro do contêiner-rm
diz ao docker para remover o contêiner assim que o comando terminar de executarjava
é o nome do serviço / contêiner (do nosso arquivo docker-compose) no qual esse comando será executadoEssa é uma maneira bem legal de lidar com a execução de diferentes versões do Java para diferentes aplicativos sem fazer uma bagunça completa na sua configuração local :).
Aqui está um exemplo um pouco mais complexo que possui o Maven e um aplicativo simples do Spring
Aviso Legal:
fonte
Suposição: máquina Mac e você já instalou o homebrew.
Instale o barril (com Homebrew 0.9.5 ou superior, o barril está incluído, pule esta etapa):
Para instalar o java mais recente:
Para instalar o java 8:
Se você deseja instalar / gerenciar várias versões, use 'jenv':
Instale e configure o jenv:
Adicione o java instalado ao jenv:
Para ver todo o java instalado:
O comando acima fornecerá a lista de java instalado:
Configure a versão java que você deseja usar:
Para definir JAVA_HOME:
fonte
Estou com o mesmo problema para resolver, porque preciso instalar o JDK8 para executar o Android SDK Manager (porque parece que não funciona bem com o JDK9). No entanto, eu digo a você como resolvo todos os problemas em um Mac (Sierra).
Primeiro, você precisa preparar com barril e jenv .
brew tap caskroom/versions
brew install jenv
brew cask install java8
(java7
oujava
se você deseja instalar a versão mais recente, jdk9)jenv versions
para listar todas as versões instaladas em sua máquina e, em seguida, ativar a versão desejada.jenv global [JDK_NAME_OF_LIST]
Você pode encontrar outras informações úteis aqui neste Github Gist brew-java-and-jenv.md , neste blog Instale vários JDK em um Mac e no site da Jenv
fonte
fonte
Se você possui várias versões Java em sua máquina e deseja escolhê-las dinamicamente em tempo de execução, ou seja, no meu caso, tenho duas versões:
Você pode alterá-los modificando o
/etc/profile
conteúdo. Basta adicionar (ou modificar) as duas linhas a seguir no final do arquivo:No meu caso, deve ser o seguinte se eu quiser usar:
Java 7:
Java 8:
Depois de salvar o arquivo, execute
source /etc/profile
e ele deve funcionar. Aqui estão os resultados quando eu uso a primeira e a segunda opção de acordo:Java 7:
Java 8:
O processo é semelhante se sua pasta java estiver localizada em locais diferentes.
fonte
alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java
?Parece que ninguém mencionou o SDK man ( https://sdkman.io/ ) ainda.
O SKD man permite instalar várias versões do Java no Mac e alternar facilmente entre essas versões. Mais informações estão disponíveis em https://sdkman.io/usage .
Por exemplo:
fonte
Use o instalador, Luke
Outras respostas sugerindo o gerenciador de pacotes Homebrew parecem um pouco extremas para mim. Tenho certeza que o Homebrew tem alguns bons usos. Mas, simplesmente para executar o Java, instalando o Homebrew é uma etapa extra desnecessária. Se seu objetivo é simplesmente executar o Java, basta baixar um instalador do Mac de uma fonte confiável.
Você tem várias fontes para obter um aplicativo instalador fácil de usar para colocar o Java no seu Mac. Execute o instalador no seu Mac, assim como em muitos outros aplicativos.
Aqui está um diagrama de fluxograma para encontrar uma fonte do Java 11, alguns dos quais também oferecem o Java 8.
Faça o download de um instalador de um fornecedor como o AdoptOpenJDK.net.
Execute o instalador.
JavaVirtualMachines
pasta agora está corretaNão é um problema.
A pasta
/Library/Java/JavaVirtualMachines/
é o novo local das JVMs no macOS .Para instalar uma JVM, use um instalador, discutido abaixo.
Para desinstalar, basta usar o Finder para excluir uma JVM dessa pasta. Você será solicitado a fornecer uma senha de administrador do sistema para concluir a remoção.
Java 9 e 10 e 11
Em 2010, a Apple ingressou no projeto OpenJDK , juntamente com Oracle , IBM , Red Hat , Azul e outros fornecedores de Java. Cada membro contribui com código-fonte, teste e feedback para a base de código unificada do OpenJDK.
A Apple contribuiu com a maior parte de seu código específico para Mac para sua JVM. Agora, a Apple não lança mais sua própria JVM específica para Mac. Agora você tem a opção de fornecedor da JVM, com construções provenientes da base de código do OpenJDK.
Você encontrará o código-fonte em: http://openjdk.java.net
Cadência do novo lançamento
Esteja ciente de que, em 2017, a Oracle, o JCP e o OpenJDK adotaram um novo plano rápido de "release release" para que as versões agendadas regularmente do Java sejam entregues de maneira previsível.
Leia esta postagem do blog da Azul Systems em 2018-07 para obter muitos detalhes, Eliminando a confusão da atualização do Java por Simon Ritter .
Leia também Java Is Still Free .
Fornecedores
Para uma lista bastante exaustiva das implementações anteriores e atuais da JVM, consulte esta página na Wikipedia .
Aqui está uma discussão de alguns fornecedores. Veja o fluxograma acima para mais fornecedores
Oracle JDK
A Oracle fornece instaladores JDK e JRE para várias plataformas, incluindo o macOS.
Ao longo dos anos desde a aquisição da Sun, a Oracle combinou as melhores partes dos dois mecanismos da JVM, HotSpot e JRocket , e as fundiu no OpenJDK projeto , usado como base para suas próprias implementações de marca do Java.
Seu novo plano de negócios, a partir de 2018, é fornecer uma implementação de Java da marca Oracle por uma taxa na produção e sem nenhum custo para uso no desenvolvimento / teste / demonstração. O suporte para versões anteriores requer um programa de suporte pago. Eles declararam que sua intenção de que o lançamento da marca estivesse em paridade com o lançamento do OpenJDK. Eles até doaram seus complementos comerciais, como o Flight Recorder, ao projeto OpenJDK.
A Oracle também lança uma compilação do OpenJDK sem suporte: http://jdk.java.net/
A Oracle produziu um JDK de finalidade especial, o GraalVM .
Zulu & Zing por Azul
A Azul Systems fornece uma variedade de produtos JVM.
Zulu
linha é baseada diretamente no OpenJDK e está disponível sem custo com planos opcionais de suporte pago.Zing
linha oferece produtos comerciais da JVM aprimorados com implementações técnicas alternativas, como um coletor de lixo especializado .As duas linhas oferecem instaladores para o macOS.
Atualmente, estou usando o Zulu para Java 10.0.1 no macOS High Sierra com IntelliJ 2018.2 e Vaadin 8 . Eu baixei desta página . A propósito, não encontro nenhum item relacionado ao Java instalado no aplicativo Apple System Preferences .
AdoptOpenJDK.net
O AdoptOpenJDK é um esforço liderado pela comunidade para criar binários da fonte OpenJDK. Eles pretendem oferecer atualizações ao longo do tempo, doadas pelos membros da comunidade.
OpenJ9 by Eclipse
O projeto OpenJ9 é outra implementação do mecanismo da JVM, uma alternativa ao HotSpot .
Agora patrocinado na Eclipse Foundation, com tecnologia e suporte doados pela IBM em 2017.
Para binários pré-criados, eles fazem referência ao projeto AdoptOpenJDK mencionado acima.
Como instalar
Os instaladores fornecidos pela Oracle ou pela Azul são totalmente simples de operar. Basta executar o aplicativo de instalação no seu Mac. Uma janela aparece para indicar o andamento da instalação.
Quando concluído, verifique sua instalação da JVM:
/Library/Java/JavaVirtualMachines/
pasta para ver um item para a nova JVM.java -version
para ver o número da marca e versão da sua JVM.Após verificar o sucesso, desmonte a imagem .dmg no Finder. Em seguida, lixeira o arquivo .dmg que você baixou.
fonte
Eu tenho aplicativos que usam Java 7 e 8 e precisam ir e voltar o tempo todo.
Eu uso esse script escrito por Johan:
http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/
Agora você pode configurá-lo na inicialização ou chamar o script posteriormente.
Instale o JDK para Mac.
Java 7
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Java 8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Recomendação atualizada !! :
Use jenv https://www.jenv.be/ e homebrew.
Então é justo
jenv global oracle6401.6.0.39
e pronto.fonte
~/.bashrc
ou~/.bash_profile
: export JAVA_HOME = "/ usr / libexec / java_home -v 1.8" e também adicionar$JAVA_HOME/bin
ao seu$PATH
se o instalador do java ainda não o fez. (NOTA: substituir aspas duplas com acentos graves para / usr / libexec / java_home, não pode entrar backticks literais nos comentários ..)brew tap caskroom/versions
seguido porbrew cask install java7
.Execute estes comandos no mac High Sierra
e verifique com o comando
fonte
Error: Download failed on Cask 'java8' with message: Download failed: https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-macosx-x64.dmg
Usando fermentação
fonte
A melhor maneira é usar o gerenciador de pacotes Brew, mas o comando
falha com erro:
Então use
Como eu encontrei o "caskroom / versions / java8": usando o comando brew search:
fonte
Se você o estiver usando NÃO para uso pessoal, convém usar o OpenJDK para evitar qualquer ação potencial da Oracle.
fonte
Se você estiver em um Mac, o Homebrew é a maneira de instalar coisas.
Parece que a versão 8 não é mais a mais recente, portanto não está disponível usando o padrão
brew cask install java
.Em vez disso, consegui fazer o seguinte:
Se isso falhar, tente o próximo diretamente:
Teste com
brew cask list
oujava -version
fonte
O mais simples é baixar o arquivo dmg no site a seguir e instalar com um clique duplo
procure JVMs disponíveis no diretório inicial
e atualize o .bash_profile com a versão relevante
e finalmente
fonte
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 última versão disponível para instalação.
1. instale o Homebrew se você ainda não o fez. Verifique se está atualizado:
2. 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):
3. e para as versões AdoptOpenJDK, adicione esse toque:
Esses barris alteram suas versões Java frequentemente, e pode haver outros toques por aí com versões Java adicionais.
4. Procure versões instaláveis:
ou para as versões AdoptOpenJDK:
5. Verifique os detalhes na versão que será instalada:
ou para a versão AdoptOpenJDK:
6. Instale uma versão específica do JDK, como java11, adoptopenjdk8, ou apenas java ou adoptopenjdk para a atual. Por exemplo:
Você também pode usar o caminho completo para versões mais antigas:
fonte
Você pode tentar isso:
fonte
Caminho mais fácil
PS - Cask é uma extensão do Homebrew que se destina a gerenciar grandes binários e aplicativos gráficos do Mac, mas usando a interface do Homebrew. Veja também esta resposta no Apple StackExchange.
fonte
Tentar :
barril de cerveja instalar java 8 ,, dará o resultado abaixo
8tracksradiohelper adoptopenjdk8 amitv87-pip corretto8 ícones8 vmware-fusion8 x48 zulu8
Em seguida, digite: instalação do barril de fermentação adoptopenjdk8 ---- o java 8 será instalado no Mac.
fonte
Eu sugeriria o uso do SDK man, que é bastante fácil de alterar a versão (temporária e permanente) e fornece outros SDKs também. Uso o SDK há mais de um ano.
https://sdkman.io/
fonte
Para a versão mais recente dos usuários do Intellij IDEA, há uma opção para baixar o JDK diretamente do IDE: https://www.jetbrains.com/help/idea/sdk.html#jdk-from-ide
fonte
Em 3 de maio de 2020, este site possui um link para download do jre8u251: https://java.com/en/download/mac_download.jsp
fonte
Os passos abaixo funcionaram para mim.
1) Desinstale todos os jdks
Na janela Terminal, copie e cole o comando abaixo:
2) Instale o APPLE jdk.
https://support.apple.com/kb/DL1572?locale=en_US
3) Baixe o JDK mais recente da Oracle e instale-o, para mim foi o JDK 1.82
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Isso é tudo que vai funcionar como um encanto.
fonte