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_HOMEvariabile puntava direttamente alla mia jdkcartella ( /usr/local/javache era anche la $PATHvoce corretta e il link sym alternativo). Cerca effettivamente la libcartella 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_HOMEvariabile dovrebbe invece puntare a questa posizione /usr/local/java/jre(supponendo che il percorso JDK sia /usr/local/java) - in realtà c'è una jrecartella 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.jarrisiede 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.