Come impostare la variabile d'ambiente JAVA_HOME su Mac OS X 10.9?


135

Ho appena acquistato un nuovissimo MacBook Pro.

Questo è il mio primo MAC in assoluto e sto ancora cercando di capire come navigare.

Ad ogni modo, sono anche nuovo a Java e mi sono esercitato sul mio PC Windows prima che morisse definitivamente.

Ora che sono su questo MAC, ho installato il mio JDK e ora devo impostare la JAVA_HOMEvariabile di ambiente.

Non ho idea di cosa fare.

Ho provato a seguire alcune di queste guide e non sono andato molto lontano.

  1. Mkyong.com: come impostare la variabile JAVA_HOME in Mac OSX

  2. YouTube: come impostare le variabili di ambiente su mac, linux, solaris, rhel

  3. YouTube: come impostare le variabili di ambiente su Mac

Sono stato in grado di individuare il terminale e penso di aver creato alcuni file multipli. Ricevo messaggi come questo:


(1) Un altro programma potrebbe modificare lo stesso file. In tal caso, fare attenzione a non finire con due diverse istanze dello stesso file quando si apportano modifiche. Esci o continua con cautela.


(2) Una sessione di modifica per questo file si è arrestata in modo anomalo. In questo caso, utilizzare ": recover" o "vim -r /Users/Erwin/.bash_profile" per ripristinare le modifiche (consultare ": help recovery"). Se lo hai già fatto, elimina il file di scambio "/Users/Erwin/.bash_profile.sw p" per evitare questo messaggio.

Qualcuno può dire passo dopo passo come impostare Java in ambiente Mac OSX?




Risposte:


327

Letteralmente tutto ciò che devi fare è:

echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile

e riavvia la shell.

Se hai più versioni JDK installate e vuoi che sia una specifica, puoi usare il -vflag in questo java_homemodo:

echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profile

1
Quando dici "shell", intendi che chiudo la finestra del terminale e la riapro? Inoltre, questo aggiunge in modo permanente la variabile di ambiente per il mio jdk?
— islander_zero,

1
Sì, questo è ciò che intendo. E sì, questo aggiungerà la variabile per tutte le shell di login per il tuo utente (ovvero, praticamente tutte le circostanze in cui lo vorresti)
— Adrian Petrescu,

13
Penso che invece di riavviare il terminale se lo fai source ~/.bash_profilefunzionerebbe, giusto?
— Shobhit Puri,

2
@ShobhitPuri Sì, volevo solo renderlo semplice per chi lo chiede.
— Adrian Petrescu,

4
echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profileSe hai bisogno di una versione specifica. 1.7 in questo caso.
— sebastian,

26

L'ho fatto mettendo

export JAVA_HOME=`/usr/libexec/java_home`

(backtics) nel mio .bashrc. Vedi il mio commento sulla risposta di Adrian.


15

In Mac OSX 10.5 o versioni successive, Apple consiglia di impostare $JAVA_HOME variable to /usr/libexec/java_home, solo esporta $JAVA_HOME in file ~/. bash_profileo ~/.profile.

Apri il terminale ed esegui il comando seguente.

$ vim .bash_profile

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

salva ed esci dall'editor vim, quindi esegui il comando source su .bash_profile

$ source .bash_profile

$ echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home

11

Imposta la variabile di ambiente $ JAVA_HOME sul Mac OSX più recente o precedente.

Scarica e installa installa JDK

  1. Innanzitutto, installa JDK
  2. Apri il terminale controlla la versione java

$ java -version

Imposta la variabile d'ambiente JAVA_HOME

  1. Apri il file .zprofile

$ open -t .zprofile

O crea . file zprofile

$ open -t .zprofile

  1. scrivi in ​​.zprofile

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

Salvare .zprofile e chiudere il file bash e quindi scrivere nel terminale per funzionare perfettamente .

$ source .zprofile

Test di installazione nel terminale

$ echo $JAVA_HOME  
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home

1
Inoltre ho avuto una domanda su cosa sia effettivamente "/ usr / libexec / java_home". Risposta: medium.com/zendesk-engineering/…
— ekar

1
/ usr / libexec / java_home è il modo più semplice gestibile di impostare JAVA_HOME su macOS. È possibile utilizzare java_home per: trovare tutti i JDK installati.
— Shomu

7

Si consiglia di controllare la shell terminale predefinita prima di impostare la variabile d'ambiente JAVA_HOME , tramite i seguenti comandi:

$ echo $SHELL
/bin/bash

Se il tuo terminale predefinito è / bin / bash (Bash), allora dovresti usare il metodo @Adrian Petrescu .

Se il tuo terminale predefinito è / bin / zsh (Z Shell), allora dovresti impostare queste variabili d'ambiente nel file ~ / .zshenv con i seguenti contenuti:

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

Allo stesso modo, qualsiasi altro tipo di terminale non menzionato sopra, è necessario impostare la variabile di ambiente nel rispettivo file env del terminale.


4

Ho funzionato aggiungendo a ~ / .profile. In qualche modo dopo l'aggiornamento alla beta di El Capitan, non ha funzionato anche se JAVA_HOME è stato definito in .bash_profile.

Se ci sono utenti beta di El Capitan, prova ad aggiungere a .profile


2
Qual è la differenza tra .profile e .bash_profile?
— IgorGanapolsky,

3
L'idea è che .profile funziona per tutte le shell (sh, zsh, qualunque cosa); .bash_profile, solo per shell bash.
— JohnL4,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.