Muitos aplicativos Java que usam scripts de shell para configurar seu ambiente usam a JAVA_HOME
variável de ambiente para iniciar a versão correta do Java, localizar JRE JARs e assim por diante.
No macOS X 10.6, os seguintes caminhos parecem válidos para essa variável
/Library/Java/Home
/System/Library/Frameworks/JavaVM.framework/Home
/System/Library/Frameworks/JavaVM.framework/Versions/Current
Alguns desses são links simbólicos para a VM atual real (conforme definido no painel Java Preference).
Mas qual deles deve ser usado - ou está correto usar algum deles?
java
macos
configuration
Robert Christie
fonte
fonte
Respostas:
Acabei de definir
JAVA_HOME
a saída desse comando, que deve fornecer o caminho Java especificado em suas preferências Java. Aqui está um trecho do meu.bashrc
arquivo, que define esta variável:Não tive problemas com essa técnica.
Ocasionalmente, tenho que alterar o valor de
JAVA_HOME
para uma versão anterior do Java. Por exemplo, um programa que estou mantendo requer o Java 5 de 32 bits no OS X; portanto, ao usar esse programa, definoJAVA_HOME
executando:Para aqueles que não têm
java_home
em seu caminho, adicione-o assim.Referências :
Oracle explica o comando java_home
Um artigo para configurar o JDK no Spring Tool Suite (Eclipse 2019) no MacOS
fonte
Além disso, é interessante definir seu PATH para refletir o JDK. Depois de adicionar JAVA_HOME (o que pode ser feito com o exemplo citado por 'mipadi'):
export JAVA_HOME=$(/usr/libexec/java_home)
Adicione também em ~ / .profile:
export PATH=${JAVA_HOME}/bin:$PATH
PS: Para OSX, geralmente uso .profile no diretório HOME em vez de .bashrc
fonte
.bash_profile
- por que você usa o genérico.profile
?.profile
é genérico, ele funcionará comsh
oubash
, enquanto.bash_profile
é exclusivo parabash
. Além disso, isso isola as configurações de aplicativos que usam.bash_profile
, comoMacPorts
. Mas você pode usar com segurança qualquer um dos dois. Veja mais sobre isso aqui.bash_profile
substituições.profile
..bash_profile
é específico, enquanto.profile
genérico, para todas assh
variações.java
no seu,/usr/bin
não deve ser necessário adicionar explicitamente$JAVA_HOME
ao seu caminho.Estou com o MAC OS X (Sierra) 10.12.2 .
I definir JAVA_HOME para o trabalho em Reagir nativo (por Aplicativos Android), seguindo os seguintes passos.
Abra o Terminal (Command + R, digite Terminal, pressione ENTER).
Adicione as seguintes linhas ao ~ / .bash_profile .
export JAVA_HOME=$(/usr/libexec/java_home)
Agora execute o seguinte comando.
source ~/.bash_profile
Você pode verificar o valor exato de JAVA_HOME digitando o seguinte comando.
echo $JAVA_HOME
O valor (saída) retornado será algo como abaixo.
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
É isso aí.
fonte
$JAVA_HOME
refere$(/usr/libexec/java_home)
- se e$(/usr/libexec/java_home)
é referido internamente como/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
pelo sistema.Estou no Mac OS 10.6.8
A solução mais fácil funciona para mim é simplesmente colocar
Para testar se funciona, coloque
isto mostra
você também pode testar
fonte
Atualmente o Java parece estar instalado no
/Library/Java/JavaVirtualMachines
fonte
Eu costumo usar
/Library/Java/Home
. O funcionamento do painel de preferências deve estar atualizado com a sua versão preferida.fonte
Isso acima não funciona mais no YOSEMITE para APLICAÇÕES GRÁFICAS! Como eclipse, ou qualquer coisa iniciada com o Spotlight. (.bash_profile, o launchd.conf funciona apenas para sessões de terminal.) Antes de iniciar o eclipse, basta abrir uma janela de terminal e emitir o seguinte comando:
(Com o seu caminho de instalação! Talvez funcione com $ (/ usr / libexec / java_home) em vez do caminho completo também.)
Veja o excelente artigo sobre a solução permanente aqui: Definir variáveis de ambiente via launchd.conf não funciona mais no OS X Yosemite / El Capitan / macOS Sierra?
fonte
Encontrei esta pilha para ajudar, eu estava tendo o mesmo problema e poderia corrigir:
Meu caminho java estava aqui:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
e era necessário colocar no meu
.bash_profile
:export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\"
Espero ajuda
fonte
Ignorando a configuração do Terminal desde que você mencionou os aplicativos, configuração permanente da variável de ambiente do sistema (funciona no macOS Sierra; também deve funcionar no El Capitan):
(isso configurará JAVA_HOME para o JDK 1.8 mais recente, é provável que você tenha passado por atualizações de servidor, por exemplo, javac 1.8.0_101, javac 1.8.0_131)
Obviamente, altere 1.8 para 1.7 ou 1.6 (realmente?) para atender às suas necessidades e ao seu sistema
fonte
Como outras respostas, a maneira correta de encontrar o diretório inicial do Java é usar
/usr/libexec/java_home
.A documentação oficial para isso está nas Perguntas e respostas técnicas da Apple QA1170: Diretórios Java importantes no OS X : https://developer.apple.com/library/mac/qa/qa1170/_index.html
fonte
Para mim, o maven parece funcionar fora do
.mavenrc
arquivo:Tenho certeza de que também aprendi no SO, mas não me lembro onde.
fonte
Criar arquivo
~/.mavenrc
depois cole isso no arquivo
export JAVA_HOME=$(/usr/libexec/java_home)
teste
mvn -v
fonte
É recomendável verificar o shell do terminal padrão antes de definir a variável de ambiente JAVA_HOME , através dos seguintes comandos:
Se o seu terminal padrão é / bin / bash (Bash), você deve usar @hygull método
Se o seu terminal padrão for / bin / zsh (Z Shell), defina essas variáveis de ambiente no arquivo ~ / .zshenv com o seguinte conteúdo:
Da mesma forma, qualquer outro tipo de terminal não mencionado acima, você deve definir a variável de ambiente em seu respectivo arquivo env do terminal.
Este método testou o trabalho no macOS Mojave versão 10.14.6 .
fonte
Para usuários do Fish Shell, use algo como o seguinte:
alias java7 "set -gx JAVA_HOME (/usr/libexec/java_home -v1.7)"
fonte