Introduzione
JAVA_HOME è una variabile di ambiente utilizzata da varie applicazioni basate su Java per individuare JVM (JDK) su qualsiasi sistema. Allo stesso modo, Maven richiedeva anche che JAVA_HOME fosse impostato correttamente sul tuo sistema.
Il problema:
Quando ho provato a controllare la versione di Maven sul nostro PC macOS, ho ricevuto il seguente errore nell'output:
mvn --version
The JAVA_HOME environment variable is not defined correctly,
this environment variable is needed to run this program
La soluzione:
Poiché il messaggio di errore mostra chiaramente che la variabile di ambiente JAVA_HOME non è impostata sul mio PC. Quindi la soluzione semplice è impostarlo correttamente. Utilizzare i passaggi seguenti per risolvere questo problema.
macOS 10.5 (Catalina) e versioni successive utilizzano Zsh come shell predefinita. La versione precedente utilizza la shell Bash. Quindi prima è identificare la shell che è in esecuzione sul tuo sistema. Apri un terminale e digita:
echo $SHELL
Per Zsh l'output sarà /bin/zsh e per la shell Bash l'output sarà /bin/bash.
Ora, imposta la variabile d'ambiente JAVA_HOME
in base alla shell attiva:
- Zsh (/bin/zsh): modifica il file
~/.zshenv
e aggiungi il codice seguente:
export JAVA_HOME=$(/usr/libexec/java_home)
- Bash (/bin/bash): modifica il file
~/.bash_profile
e aggiungi il codice seguente:
export JAVA_HOME=$(/usr/libexec/java_home)
Questo dovrebbe risolvere il problema sul tuo sistema. Per confermare, apri una nuova shell e stampa il valore della variabile d'ambiente JAVA_HOME e conferma anche con il comando che stavi ricevendo l'errore:
echo $JAVA_HOME
mvn --version
Nota: se il problema persiste dopo aver impostato correttamente la variabile di ambiente, assicurarsi che altri script non la sovrascrivano. Puoi trovare l'ordine di esecuzione dello script qui.
Conclusione
In questo tutorial abbiamo visto come risolvere il seguente problema: The JAVA_HOME environment variable is not defined correctly, this environment variable is needed to run this program.