Anche se sembra che la tua configurazione sia corretta, ci sono alcune cose da controllare:
- L'output di
env
- specificamentePATH
. command -v java
ti dice cosa?- C'è un
java
eseguibile in$JAVA_HOME\bin
e ha il bit di esecuzione impostato? Se nonchmod a+x java
esso.
Confido che tu abbia source
'd il tuo .profile
dopo aver aggiunto/modificato il JAVA_HOME
e PATH
?
Inoltre, puoi aiutarti nella futura manutenzione della tua installazione JDK scrivendo invece questo:
export JAVA_HOME=/home/aqeel/development/jdk/jdk1.6.0_35
export PATH=$JAVA_HOME/bin:$PATH
Quindi devi solo aggiornare una variabile env quando configuri l'installazione di JDK.
Infine, potrebbe essere necessario eseguire hash -r
per cancellare la cache del programma Bash. Altre shell potrebbero richiedere un comando simile.
Saluti,
update-java-alternatives
Il java
l'eseguibile non è stato trovato con il tuo JAVA_HOME
, dipende solo dal tuo PATH
.
update-java-alternatives
è un buon modo per gestirlo per l'intero sistema tramite:
update-java-alternatives -l
Esempio di output:
java-7-oracle 1 /usr/lib/jvm/java-7-oracle
java-8-oracle 2 /usr/lib/jvm/java-8-oracle
Scegli una delle alternative:
sudo update-java-alternatives -s java-7-oracle
Come update-alternatives
, funziona tramite la gestione dei collegamenti simbolici. Il vantaggio è che gestisce i collegamenti simbolici a tutte le utilità Java contemporaneamente:javac
, java
, javap
, ecc.
Devo ancora vedere un JAVA_HOME
effetto sul JDK. Finora l'ho visto utilizzato solo in strumenti di terze parti, ad es. Maven.