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.
export JAVA_HOME
abordagem, conforme detalhado aqui de uma maneira um pouco mais flexível.Respostas:
Porque você precisa entrar no painel Preferências Java e sinalizar apenas a JVM 7 desta maneira:
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.
fonte
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
para alternar para o Java 7 JDK mais recente da Oracle.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 umno 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/java
link simbólico para que ele aponte para/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
:fonte
rm /usr/bin/java
rm: /usr/bin/java: Operation not permitted
export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
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).
fonte
/usr/bin/java
nemJAVA_HOME
. Mas configuração deJAVA_HOME
ajudou./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"
vi ~/.bash_profile
adicionar
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
Isso indica
/usr/bin/java
ao 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_HOME
seria:/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
fonte
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
Verifique se ele está instalado corretamente, procurando em Prefs do sistema:
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
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
Sanidade, verifique sua versão:
versão-java
fonte
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:
(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.
fonte
Desde El Capitan, é difícil excluir o
/usr/bin/java
link 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
)PATH
no.bashrc
arquivo:Para recarregar seu
.bashrc
arquivo para a sessão atual, executesource ~/.bashrc
no shell. Você só precisa fazer isso para as sessões iniciadas antes de alterar o.bashrc
arquivo.Agora a versão mais recente é usada quando você usa
java
o shell.fonte
source .bashrc
, a fim de recarregar o conteúdo do .bashrc/usr/local/bin
seguinte: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,$PATH
que deve ser por padrão.Para mim, a maneira mais fácil e limpa de instalar é instalar o Java usando o homebrew como descrito aqui:
https://stackoverflow.com/a/28635465
fonte
O problema básico:
/usr/bin/java
está 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.Path
item 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
ln -s
comando) 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.fonte
usr/local/bin
, em vez deusr/bin
no comando do terminalVocê pode executar o seguinte comando no seu terminal:
E isso substitui o java antigo pelo novo.
fonte
source ~/.bashrc
em seguida, para torná-lo permanente #eu fiz
e isso corrigiu meu problema do Java 8.
antes:
depois de:
fonte
/usr/libexec/java_home
indicação é muito boa, obrigado!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.
fonte
Posso sugerir que você dê uma olhada na ferramenta Jenv
Isso permitirá que você alterne a qualquer momento entre suas JVMs instaladas.
Simplesmente como:
depois, para fins de teste:
E você tem muito mais comandos disponíveis.
fonte
Codificar o caminho JAVA_HOME pode não ser a melhor ideia. O
/usr/libexec/java_home
parapeito 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 -V
lista 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:
fonte
/usr/libexec/java_home
utilitá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.Isso é loucura! Como a Oracle fornece um instalador que não instala nada !?
De qualquer forma, para mim foi:
onde 1.8.0_31 é sua versão java instalada ...
fonte
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:
Você pode alterá-los modificando o conteúdo do / etc / profile. 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 a sua pasta java estiver localizada em locais diferentes.
fonte
Solução Simples
fonte
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.
fonte
Se você tiver o Homebrew instalado, poderá instalar o java-switcher para alterar a versão padrão do Java mais rapidamente
Em seguida, você pode usar apenas um comando para alternar sua versão Java padrão.
ou
fonte
Você pode executar este comando para encontrar a versão do Java em / Library / Internet Plugins /:
fonte
Está acontecendo porque o seu .bash_profile não está refletindo alterações.Para refletir isso, basta usar o seguinte comando
fonte
Como não enfrentei esse problema, estou tendo um pressentimento -
Você pode tentar o seguinte:
Para onde o link virtual "java_home" aponta para:
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:
Com base nisso, podemos obter uma dica para prosseguir?
fonte
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.
fonte
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/java
não funcionou para mim porque eu conseguiOperation 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.fonte
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 > Java
atualizações, mas isso não reflete a linha de comando. A instalação através do DMG faz o trabalho.fonte
Verifique as versões do JDK instaladas:
Agora em sua
~/.bashrc
exportação,JAVA_HOME
especificando a versão:Crie o arquivo bashrc e a versão Java será atualizada:
fonte
O mais recente método 100% eficaz:
no bash:
adicionar
:wq
salvarjava -version
Mas, na verdade, esse caminho aponta para jre e não jdk.
Se você deseja apontar o caminho para o JDK, precisará
PATH="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk"
, você pode verificar/Library/Java/JavaVirtualMachines
se instalou a versão do JDK que esperava.fonte