Apple recommends to set JAVA_HOME to “/usr/libexec/java_home“, for example :

$ vim .bash_profile 

export JAVA_HOME=/usr/libexec/java_home

$ source .bash_profile

But, when execute the Maven command, it prompts following error messages :

$ mvn -version
Error: JAVA_HOME is not defined correctly.
  We cannot execute /usr/libexec/java_home/bin/java


To fixed it, update the JAVA_HOME like following :

$ vim .bash_profile 

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

$ source .bash_profile

Run Maven again :

$ mvn -version

Apache Maven 3.0.3 (r1075438; 2011-03-01 01:31:09+0800)
Maven home: /usr/share/maven
Java version: 1.7.0_05, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.8.2", arch: "x86_64", family: "mac"



  1. Important Java Directories on Mac OS X