Sunday, December 04, 2011

Setup JAVA_HOME, MAVEN_HOME, ANT_HOME in MacOSX in 5 minutes

I have been getting the very same question all the time, from people trying to make it through the world of Java development on the Mac. One of the first things they have to tackle is setting up the appropriate tools and environment. Luckily enough MacOSX (Lion or previous flavors) have still lot's of important tools for java development, integrated and ready to use.  The main 3 tools usually needed are the following.

  • Java (of course) - it is not pre installed by default. All you need to do is open the Terminal.app and type something like java -version. Then a pop-up will appear asking you to install the latest available run time (at the time being is still  Java 6). For Java 7 and the related JDK at the time being you can download the official releases from Oracle here, the javadoc-api zip can be found here.
  • Apache Ant - is already pre-installed! (1.8.2 at the time  being - MacOSX 10.8.0)
  • Apache Maven - is already pre- installed. (3.0.4 at the time being -  10.8.0)
So all the basic tools are there - all you need to do is set-up the enviroment by defining the HOME variables usually needed by other tools like IDE, app servers etc.

All you have to do is create a special file on  your home folder and use some basic script commands like export - to indicate the paths of the tools. Really easy.

1. Go to your home folder, that would be something like :
 cd \Users\yourUserName
 
In my system that would be

cd \Users\papo


2. Create a new file using vi or vim (or whatever you like) with the following command
 vi .profile



3. Using (vim) in the file - just add the following lines

Java 7
export JAVA_HOME=$(/usr/libexec/java_home -v1.7)
 
 
Java 6 
export JAVA_HOME=$(/usr/libexec/java_home -v1.6)
 
If you are interested on maintaining several different JDK on your Mac, you may have a look on this post.
 
For all the rest (ant, maven)
 
 
export ANT_HOME=/usr/share/ant/
 
export MAVEN_HOME=/usr/share/maven/





4. Save the file (vi -> press Esc and :w) (see vi basic commands here)


5. Ready, open a new Terminal tab or window and test if your enviroment variables are all set by typing
 
echo $JAVA_HOME 
echo $ANT_HOME
echo $MAVEN_HOME

This is it your enviroment variables are ready, MacOSX has already integrated Java, Ant and Maven executables to the system path.



Notes:

----Some paths may change in the future - you can always check where each tool is pre-installed by using the 'which' and 'ls -al' command.

----So if you are wondering where Ant has gone just type the following
which ant
Which is going to return something like /usr/bin/ant
Then just use the path above and use ls to see the real path of the symbolic link
 ls -al /usr/bin/ant
This is going to return something like 

 22 Jul 30 19:38 /usr/bin/ant  /usr/share/ant/bin/ant





Hope that helps! Enjoy!

Other References

1 comment: