Java 7 instalado no Mac OS X, mas o Terminal ainda está usando a versão 6


391

Instalei o JDK 7u7 baixado do site da oracle. Mas após a instalação, o terminal ainda está mostrando a versão java 6

$java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

alguma idéia de por que o java 7 não está aparecendo?

Resp: OK, o problema foi resolvido. Aqui está a resposta: Descobri que meu terminal tem um .bash_profile e a variável java home está definida como 1.6

export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home"

Portanto, esta é a linha que está causando o problema toda vez que eu abro uma nova janela do terminal. Basta remover esta linha para resolver o problema. Você ainda precisa seguir o que o @aleroot disse, mas se isso não funcionar, verifique o arquivo de configuração .bash_profile (ou .bashrc) para ver se você já exportou alguma versão java.


23
Eu tive esse problema, mas atualizei apenas o JRE e não o JDK. Depois de atualizar o JDK, ele mostrou a versão correta.
— Paul Maserrat

Migrar para perguntar diferente?
— Nakilon

14
Apenas para chamar mais atenção ao comentário de @ Mazzy, é um erro fácil de cometer. O download do JRE v7 fará com que a versão 7 apareça ao executar o verificador de versão on-line ou o painel de controle Java, mas ao chamar Java a partir da linha de comando, você estará executando a versão mais antiga do JDK instalado anteriormente. Portanto, verifique duas vezes para garantir que você instalou o JDK e não apenas o JRE.
— Cam Jackson

11
A melhor maneira de resolver isso é usar a export JAVA_HOMEabordagem, conforme detalhado aqui de uma maneira um pouco mais flexível.
— Brad Parks

5
Permitam-me enfatizar isso em letras maiúsculas: MUITAS PESSOAS QUE DESEJAM ESTA PÁGINA PRECISAM DE BAIXAR E INSTALAR O JDK MAIS RECENTE. O painel de controle JAVA apenas atualiza o JRE.
— Walter Tross

Respostas:


64

Porque você precisa entrar no painel Preferências Java e sinalizar apenas a JVM 7 desta maneira:

Preferências Java

Para abrir com facilidade e rapidez o painel Preferências Java no Mac OS X, basta chamar o Spotlight com ⌘+SPACE e digitar Preferências do Sistema , que aparecerá na última linha da janela.


3
sim, encontrei. mas ainda a versão 1.6 no terminal, eu preciso fazer para reiniciar ou algo
— Yang

11
Este painel não existe mais no 10.8. Alternativas?
— Pepijn

68
@Pepijn O panorama é histórico desde o Mac OSX 10.8.2 e não há mais necessidade disso. Em vez disso, você precisa usar export JAVA_HOME=`/usr/libexec/java_home -v 1.7`para alternar para o Java 7 JDK mais recente da Oracle.
— Uwe Günther

23
Eu acho que eles se livraram das preferências do Java em algum momento. Não foi encontrado pelo Spotlight na minha caixa. Executando 10.8.5.
— quickshiftin

11
Você pode encontrar a localização exata de JAVA_HOME em -> preferências do sistema -> java. Clique na aba "Java". Clique em ver. A variável Path mostra seu JAVA_HOME (tile / Home).
— agaase

298

O instalador da Oracle coloca o java dentro do /Library/Internet Plug-Ins/JavaAppletPlugin.plugin. E não substitui /usr/bin/java. Então, se você emitir um

whereis java

no terminal, ele retornará / usr / bin / java. (que por sua vez aponta para /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java, que é a versão 1.6 da Apple).

Portanto, se você quiser usar a nova versão java, substitua o /usr/bin/javalink simbólico para que ele aponte para /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java:

sudo rm /usr/bin/java
sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin

22
Aqui está o comando: sudo ln -s / Biblioteca / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Conteúdo / Home / bin / java / usr / bin
— Binarian

11
O comando de Viktor funciona. Mas você também pode precisar de ter a certeza de remover o link simbólico java existenterm /usr/bin/java
— Matt Florence

7
Até o Oracle gente melhorar este processo, aqui está um HOWTO de todo o processo de instalação do java em um sistema OSX, até e incluindo esta etapa link simbólico final: gist.github.com/johan/10590467
— ecmanaut

61
eu tenhorm: /usr/bin/java: Operation not permitted
— Aditya

37
Ouexport PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
— Mick

114

Instale o JDK 7 e esse problema se resolverá.

Certifique-se de obter o Java Development Kit (JDK), que inclui compiladores e coisas assim, em vez de apenas o Java Runtime Environment (JRE).


7
instale o JDK completo, não apenas o JRE.
— BrainO2

5
-1 Não ajudou. A instalação do JDK não muda /usr/bin/javanem JAVA_HOME. Mas configuração de JAVA_HOMEajudou.
— Andrii Nemchenko

3
Confirmado OK no OSX 10.9.4. Ele não altera o link / usr / bin, muda as coisas abaixo dele. Então /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java # But: /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java -version java version "1.7.0_67"
— Joe Atzberger

11
Também trabalhou para JDK 1.8 - (instalar o JDK 1.8 em vez de JRE 1.8)
— Mark Chackerian

Tentei instalar o Java 1.8, mas isso não funcionou no El Capitan. A instalação do 1.7 resolveu meus problemas.
— SPRBRN 17/10/2015

104

vi ~/.bash_profile

adicionar

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

Isso indica /usr/bin/javaao destino do link para usar o pacote Java 7 mais recente instalado no

/Library/Java/JavaVirtualMachines/

Então, para o JDK 1.7.0_17 JAVA_HOMEseria:

/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home

Nota: Houve muitas mudanças nessa área recentemente para mover o Mac OS X dos pacotes Java integrados ao sistema da Appels para Pacotes Java baseados no Oracle. A solução acima está funcionando bem no Mac OS X 10.8.2


4
+1 para esta resposta, que é imo a correta, porque funciona nas versões do Mac OS antes e depois da remoção das 'Java Preferences' e, ao mostrar a opção "-v", demonstra como você pode usar o java 6, mesmo que o java 7 está instalado (que é o que eu quero). Portanto, no meu Mac executando o Lion (10.7.5), uso o mesmo comando com "-v 1.6". Isso é crucial porque eu preciso do Java 6 e o ​​Oracle não fornece um para o Mac OS - apenas o Java 7, e isso permite que eu use o JAva 6 instalado, mesmo que o Java 7 esteja instalado.
— Ruibarbo

11
Além disso, para torná-lo mais flexível: mikemainguy.blogspot.com/2014/11/…
— Mainguy

informações adicionais podem ser encontradas aqui para esta resposta incrível!
— Brad Parks

Isso funcionou para mim no Sierra 10.12 depois de instalar o 1.8 JKD, a exportação funcionou alterando 1.7 para 1.8. Ótima resposta usando o utilitário java_home !!
— 22817 Scott Byers

56

No meu caso, o problema era que o Oracle estava instalando-o em um local diferente do que eu estava acostumado.

Faça o download no Oracle: http://java.com/en/download/mac_download.jsp?locale=en

  1. Verifique se ele está instalado corretamente, procurando em Prefs do sistema:

    • Espaço de comando para abrir o Spotlight, digite 'System Preferences', pressione enter.
    • Clique no ícone Java na linha inferior. Depois que o Painel de controle Java for aberto, clique na guia 'Java', 'Exibir ...' e verifique se sua instalação funcionou. Você também pode ver um 'Caminho', que pode ser usado nos comandos abaixo, caso sejam diferentes dos meus.
  2. Verifique se a versão está conforme o esperado (sub no seu caminho, conforme necessário):

    / Biblioteca / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Conteúdo / Home / bin / versão-java

  3. Crie um link de / usr / bin / java para sua nova instalação

    sudo ln -fs / Biblioteca / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Conteúdo / Página inicial / bin / java / usr / bin / java

  4. Sanidade, verifique sua versão:

    versão-java


Também funcionou para mim. Também tentei a outra explicação, mas com o Maverix não há painel onde você possa selecionar um número de versão e também alterar o arquivo .bash_profile. PERFEITO!
— Alex Cio

Eclipse é não ver 1.7 sob compilador
— Laser Falcão

Trabalhou para mim! Antes = 1.6.0_65 e Depois de usar esta solução = 1.7.0_60 .... obrigado! :)
— maths

mas eclipse dá erro como ainda 'a biblioteca compartilhada jvm não contém o símbolo jni_createjavavm' .... :(
— maths

11
Obrigado pela ajuda! Nada mais funcionou, exceto isso. Executando Yosemite
— LordZardeck

33

Eu tive um problema semelhante com o terminal que não atualiza a versão java para corresponder à versão instalada no mac.

Não houve nenhum problema com a variável de ambiente JAVA_HOME sendo configurada

Eu criei uma solução temporária e um tanto dolorosa, mas funcional.

Em você .bash_profile adicione a linha:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home"

(Este é o caminho na minha máquina, mas pode ser diferente do seu, certifique-se de obter o seu. Os caminhos devem corresponder a / Library / Java / JavaVirtualMachines /)

a corrida source ~/.bash_profile

Como mencionei, esta é uma solução de band-aid temporária porque o caminho inicial do java está sendo codificado. Não há realmente nenhuma maneira de definir o caminho para obter as informações mais recentes, pois é isso que a Apple já está fazendo para o terminal e o problema é que a variável de ambiente java_home da Apple não está sendo atualizada.


4
O diretório está vazio. $ Ls / Library / Java / JavaVirtualMachines /
— Pepijn

11
Você provavelmente tem um problema com o local onde instalou o java 7. Por favor, acesse o site da oracle . Clique no link "Java SE Development Kit 7u11", aceite o contrato de licença e faça o download de "jdk-7u11-macosx-x64.dmg". Use o dmg para instalar o Java 7 e isso deve colocá-lo no diretório JavaVirtualMachines.
— Derek

Esta é uma solução no Mojave 10.14.1 no início de 2019
— bitsand 07/02/19

27

Desde El Capitan, é difícil excluir o /usr/bin/javalink simbólico, devido à introdução da nova política "sem raiz".

Portanto, eu simplesmente adicionei o caminho para a versão mais recente do java (no meu caso, isso é /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin) PATHno .bashrcarquivo:

# Use latest java version
export PATH=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH

Para recarregar seu .bashrcarquivo para a sessão atual, execute source ~/.bashrcno shell. Você só precisa fazer isso para as sessões iniciadas antes de alterar o .bashrcarquivo.

Agora a versão mais recente é usada quando você usa javao shell.


11
Essa solução em particular funcionou para mim no meu mac os x el capitan. Não ignorei a segurança configurada no el capitan, mas instalei a versão 1.8 do java. Fazer a exportação JAVA_HOME = / meu caminho específico etc etc / não funcionou (depois de ir para preferências e localizar o caminho para 1.8). Observe que o 1.6 ainda está instalado. Eu tive que criar um arquivo .bashrc e definir o caminho conforme descrito aqui. Corri a versão java e shazzam! funcionou.
— Julio

Eu queria que isso funcionasse, pois estou no El Capitan e não consigo nenhuma outra solução para funcionar. Criei um arquivo '.bashrc' e adicionei a linha como acima, mas se eu digitar 'java -version' ainda recebo a versão 1.6. Algo que eu poderia ter esquecido?
— NoLongerRandom

@ user3810073 talvez você precise executar source .bashrc, a fim de recarregar o conteúdo do .bashrc
— TabeaKischka

Trabalhou para mim. Adicionei a linha a .bash_profile (no diretório inicial do meu usuário) e depois a fonte .bash_profile. Então java -version me deu a mais recente. Obrigado!
— Mrmuggles

Isso também pode ser conseguido através do link simbólico para o /usr/local/binseguinte: sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/local/bin/java Essa suposição /usr/local/biné anterior /usr/binà sua, $PATHque deve ser por padrão.
— Lifeofguenter #


13

O problema básico: /usr/bin/javaestá apontando para um fornecido pelo próprio OSX inicialmente ( /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java) Precisamos apontar isso para o baixado pelo instalador do JDK. As etapas abaixo são para o OSX 10.10.4 Yosemite.

  • Abra Preferências do Sistema -> selecione Java. A janela Java é aberta.
  • Clique na guia Java na parte superior. Clique no botão 'Ver'.
  • A guia Configurações do Java Runtime Environment é aberta como abaixo: Guia Configurações do JRE
  • Clique duas vezes no Pathitem e copie o caminho (cmd + c). Este é o mais recente instalado pelo instalador / atualizador do JDK. No meu caso, o caminho foi/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
  • Terminal aberto. Nesta etapa, vamos apontar (link simbólico, ln -scomando) o binário java do sistema para o mais recente, que descobrimos na etapa anterior. Execute o comando abaixo:

sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java

É isso aí. Para verificar, você pode simplesmente rodar java -version no terminal. Ele deve gerar a versão mais recente em que você instalou / atualizou.


2
Funciona para mim, exceto que eu tive que adicionar -f ao comando ln. Caso contrário, se falhar com ln: / usr / bin / java: o arquivo existe
— Dale

no meu caso eu tinha de usar usr/local/bin, em vez de usr/binno comando do terminal
— iAkshay

Estou recebendo "operação não permitida".
— Shardul 16/11/19

Obter o caminho dessa maneira é ideal. Consegui exportá-lo e recarregar o bashrc para resolver o problema de versão. No meu caso, eu estava migrando da versão 7 para 8 no Mojave 10.14.1
— bits e

12

Você pode executar o seguinte comando no seu terminal:

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"

E isso substitui o java antigo pelo novo.


11
Estranhamente ele substitui, mas, em seguida, se eu fechar terminal e abrir de novo, versão ele mostra novamente mais velho
— Parth Patel

isso é verdade. tão sem sentido. solução muito temporária
— Um usuário

11
adicione-o ao arquivo .bashrc e, source ~/.bashrcem seguida, para torná-lo permanente #
— Azimjon Ilkhomov

10

eu fiz

export JAVA_HOME=`/usr/libexec/java_home`

e isso corrigiu meu problema do Java 8.

antes:

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

depois de:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

11
A /usr/libexec/java_homeindicação é muito boa, obrigado!
— Raffi

11
Fiz o trabalho depois de ler toneladas de soluções possíveis! Obrigado :)
— ronnyrr

7

http://www.java.com/en/download/faq/java_mac.xml é um bom lugar para entender, enquanto a Apple está parando o suporte ao Java, por que o Java Preferences não existe mais e depende de System_Preferences => Java = > Java se o Java 7 da Oracle estiver instalado.


2
Esta é uma boa informação, mas você realmente deve fornecer mais detalhes do que apenas um link. Se o link for quebrado no futuro, sua resposta realmente não será muito útil.
— psubsee2003

7

Posso sugerir que você dê uma olhada na ferramenta Jenv

Isso permitirá que você alterne a qualquer momento entre suas JVMs instaladas.

Simplesmente como:

jenv global oracle-1.7

depois, para fins de teste:

jenv global oracle-1.6

E você tem muito mais comandos disponíveis.


Marque com +1 esta resposta, pois você pode utilizar o Homebrew, se já o estiver usando no sistema OS X. Muito mais limpo do que outros eu digo. Mais informações aqui: jenv.be
— piku

6

Codificar o caminho JAVA_HOME pode não ser a melhor ideia. O /usr/libexec/java_homeparapeito do utilitário funciona para mim no Mac OSX Lion 10.7.5 e no JDK 1.7.0_13. De acordo com sua página de manual, ele deve ser usado com o antigo painel Java Preferences da Apple, mas parece estar funcionando com a substituição fornecida pelo Oracle (Java Control Panel). Por exemplo, a /usr/libexec/java_home -Vlista de execução de todos os JDKs instalados (ambos 1.6. * E 1.7. *) Na minha máquina.

Portanto, conforme discutido em outros threads (por exemplo, o que devo definir JAVA_HOME no OSX ), eu ainda recomendaria adicionar a seguinte linha ao seu .bash_profile:

export JAVA_HOME=$(/usr/libexec/java_home)

Concordo com o seu comentário aqui, porque essa é uma prática recomendada, mas por algum motivo a variável de ambiente java_home não está sendo definida corretamente e é por isso que isso não funciona. Acredito que na atualização mais recente da Apple, sua sugestão é a ação padrão para JAVA_HOME no terminal e em outros aplicativos relacionados por padrão.
— Derek

@Derek O que você quer dizer exatamente com "a variável de ambiente java_home não está sendo definida corretamente"? De acordo com este artigo, o /usr/libexec/java_homeutilitário deve funcionar também com as versões java 7 e retorna o caminho para o JDK mais atualizado instalado. Funciona perfeitamente na minha máquina.
— zagyi

11
sim, é suposto funcionar, no entanto, não é para pessoas com o problema que a pepijin havia mencionado.
— Derek

6

Isso é loucura! Como a Oracle fornece um instalador que não instala nada !?

De qualquer forma, para mim foi:

sudo rm /usr/bin/java
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/java

onde 1.8.0_31 é sua versão java instalada ...


Por que a Apple não fornece um método adequado?
— jwilleke

6

Caso você tenha várias versões Java em sua máquina e queira escolhê-las dinamicamente em tempo de execução, ou seja, no meu caso, tenho duas versões:

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

Você pode alterá-los modificando o conteúdo do / etc / profile. Basta adicionar (ou modificar) as duas linhas a seguir no final do arquivo:

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

No meu caso, deve ser o seguinte se eu quiser usar:

Java 7:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Java 8:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

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 -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java 8:

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

O processo é semelhante se a sua pasta java estiver localizada em locais diferentes.


5

Solução Simples

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"

Impressionante. Esta solução fez o meu dia. Muito obrigado Mick
— Um usuário

3

Eu acho que você pode tentar instalar o jdk não o jre. Ao instalar o jdk, o java em / usr / bin / java será substituído e toda a biblioteca funcionará bem.


3

Se você tiver o Homebrew instalado, poderá instalar o java-switcher para alterar a versão padrão do Java mais rapidamente

brew tap andycillin/tap
brew install java-switcher

Em seguida, você pode usar apenas um comando para alternar sua versão Java padrão.

java-switcher 1.7

ou

java-switcher 10

Obrigado Andy, isso foi fácil.
— GreenROBO 31/10/19

1

Você pode executar este comando para encontrar a versão do Java em / Library / Internet Plugins /:

defaults read /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Info.plist CFBundleVersion

1

Está acontecendo porque o seu .bash_profile não está refletindo alterações.Para refletir isso, basta usar o seguinte comando

$ source .bash_profile

0

Como não enfrentei esse problema, estou tendo um pressentimento -

Você pode tentar o seguinte:

Para onde o link virtual "java_home" aponta para:

ls -lrt /usr/libexec/java_home

Saída: (Stunted) lrwxr-xr-x java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home

** ls -lrt /System/Library/Frameworks/JavaVM.framework/Versions My MAC Produz o seguinte:

 lrwxr-xr-x CurrentJDK ->
 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents**

 lrwxr-xr-x   Current -> A
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4.2 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4 -> CurrentJDK

Com base nisso, podemos obter uma dica para prosseguir?


leia alguns comentários na Internet sobre os problemas do Java 7 no MAC-OSX e ele será bloqueado . Consulte: grep.dk/tag/xprotect-meta-plist . No XProtect.meta.plist, tenho o Java 7 e o Flash listados. Até que esteja jogando a Polícia de Vulnerabilidades
— user1428716

0

Eu resolvi esse problema reinstalando o Yosemite e depois cruzando a versão java no terminal (java -version) e (javac -version). Ele funciona perfeitamente agora. ) libray> java> javavirtualmachine> sua versão atual do javac. você precisa endereçar para java home.


0

Eu resolvi esse problema com sudo rm /usr/bin/java

E baixei e instalei o último Java SE Runtime Environment: http://www.oracle.com/technetwork/java/javase/downloads/index.html

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/javanão funcionou para mim porque eu consegui Operation not permitted. O El Capitan agora protege certos diretórios do sistema no modo "sem raiz" (também conhecido como System Integrity Protection). É aplicável ao macOS Sierra e, provavelmente, novas versões do macOS para o futuro próximo.


0

A instalação por meio do JDK DMG distribuído do site Oracle atualiza tudo automaticamente para mim. Eu vi (em El Capitan) atualizando através de System Preferences > Javaatualizações, mas isso não reflete a linha de comando. A instalação através do DMG faz o trabalho.


0

Verifique as versões do JDK instaladas:

$ ls  /Library/Java/JavaVirtualMachines/
jdk-11.0.2.jdk  jdk1.8.0_91.jdk

Agora em sua ~/.bashrcexportação, JAVA_HOMEespecificando a versão:

if [ -e /usr/libexec/java_home ]; then
  export JAVA_HOME=$(/usr/libexec/java_home -v 11)
fi

Crie o arquivo bashrc e a versão Java será atualizada:

$ java -version
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)

0

O mais recente método 100% eficaz:


no bash:

vim ~/.bash_profile

adicionar

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
  • :wq salvar
  • cmd + q força sair do bash
  • abra o bash novamente e digite java -version

Mas, na verdade, esse caminho aponta para jre e não jdk.

Se você deseja apontar o caminho para o JDK, precisará

  1. Certifique-se de ter instalado o JDK e não um único tempo de execução do JRE
  2. Para substituir o caminho anterior PATH="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk", você pode verificar /Library/Java/JavaVirtualMachinesse instalou a versão do JDK que esperava.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.