Maven, JAVA_HOME is not defined correctly on Mac OSX

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

Solution

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"

Done.

Reference

  1. Important Java Directories on Mac OS X
Tags :

About the Author

mkyong
Founder of Mkyong.com and HostingCompass.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

  • http://po.com.vn TĂȘn mi?n

    Thanks ! very useful !like it

  • http://www.palmworks.se Staffan Palm

    Thank you, this solved the issue for me when installing Maven on my machine.