Ho avuto lo stesso problema su una macchina Linux. All'inizio ero piuttosto frustrato, perché ho installato sia JDK che JRE. Sto usando la versione 1.6, 1.7 e 1.8 contemporaneamente e ho giocato molto con le alternative per avere tutto impostato correttamente.
Il problema era abbastanza stupido da risolvere, ma controintuitivo. Mentre stavo usando il JDK corretto, ho prestato attenzione al percorso degli strumenti di cui si lamentava la giara degli strumenti - si aspettava che fosse
$JAVA_HOME\..\lib\tools.jar
La $JAVA_HOME
variabile puntava direttamente alla mia jdk
cartella ( /usr/local/java
che era anche la $PATH
voce corretta e il link sym alternativo). Cerca effettivamente la lib
cartella fuori dalla directory java, perché:
$JAVA_HOME\..\lib\tools.jar
risolverà a
/usr/local/lib/tools.jar
e quella non è una posizione valida.
Per risolvere questo, la $JAVA_HOME
variabile dovrebbe invece puntare a questa posizione /usr/local/java/jre
(supponendo che il percorso JDK sia /usr/local/java
) - in realtà c'è una jre
cartella all'interno della directory di installazione JDK, che viene fornita con ogni JDK. Questa nuova configurazione farà in modo che Maven guardi alla directory JRE, che fa parte del JDK:
$JAVA_HOME\..\lib\tools
che ora si risolve in
/usr/local/java/jre/../lib/tools.jar
e infine a
/usr/local/java/lib/tools.jar
che è dove tools.jar
risiede davvero.
Quindi, anche se stai effettivamente usando il JDK invece del JRE, $ JAVA_HOME deve puntare al JRE. Ricorda, l'alternativa del sistema operativo dovrebbe comunque fare riferimento a JDK.