Core Java

Setup your Java development environment in your new Mac in 10 minutes (updated)

This is just a small update post that references 2 older entries ( a, b) , I just combine them in one, like an one step procedure plus making sure that everything works under the latest at the time being MacOSX 10.9 Mavericks. I am mostly targeting inexperienced or junior programmers trying to setup their environment for the first time. So you just got your shinny new Mac and you are ready for some java development, excellent, lets get started it is fairly easy!  I am going to split the whole thing into 3 simple steps, the only think you need to provide is the folder paths, you can select your own installation directories.

Step 1: Download the packages

Step 2: Install or extract the packages

The Java 6 and Java 7 downloads are in a dmg form so you just double click them and install them, the setup wizard is fairly easy. Nothing extra or magic required.

For the Ant, Maven and Gradle packages you  need to extract them at a folder of your choice, it is really up to you. So unzip them and if you like rename the unziped folders, giving them a simple name. My path of choice was /Volumes/secondary/libs

So I extracted and renamed them as follows:

  • /Volumes/secondary/libs/ant
  • /Volumes/secondary/libs/maven
  • /Volumes/secondary/libs/gradle


Step 3: Modify your .profile

Open up your terminal navigate to your home profile, usually when you open app the application is already on your home folder if not just to it  cd  /Users/your_user_name , for me it is /Users/papo and type

vi .profile

This will open the vi editor. All you need to do is copy paste the following entries, MAKING SURE that the paths are correct for you. I assume that you already know the basic vi modes (Esc+i=insert mode, Esc+w=write mode, Esc+q=quite).

    #set the home for ant
    export ANT_HOME=/Volumes/secondary/libs/ant
    #set the home for maven
    export MAVEN_HOME=/Volumes/secondary/libs/maven
    #set the home for gradle
    export GRADLE_HOME=/Volumes/secondary/libs/gradle
    #creating a special home for Java 7
    export JAVA_7_HOME=$(/usr/libexec/java_home -v1.7)
    #creating a special home for Java 6
    export JAVA_6_HOME=$(/usr/libexec/java_home -v1.6)
    #making Java7 as our default java for the system
    export JAVA_HOME=$JAVA_7_HOME
    #Command line alias so we can switch to java6 or Java7
    alias java6='export JAVA_HOME=$JAVA_6_HOME'
    alias java7='export JAVA_HOME=$JAVA_7_HOME'
    #Finally put maven, ant and gradle to the system path
    export PATH=$PATH:$ANT_HOME/bin:$MAVEN_HOME/bin:$GRADLE_HOME/bin

Save your .profile and exit the terminal. Open a new One in order the changes to take effect.


Now you can test your new path environment, type java -version to check that indeed java 7 is the one loaded currently or type java6 so that Java 6 becomes active.


Type ant -version, mvn -version or gradle to check that the tools are available from your command line.


You are done. If you are looking for a nice Java IDE to start coding then head for Eclipse and Netbeans. The latter is more suitable for junior programmers. Both of them are very very powerfull and they provide rich functionality.

Happy coding.

Paris Apostolopoulos

Paris is a senior software engineer focusing on J2EE development, loves Business process modelling and is keen on software quality challenges. He is passionate about Java and Java communities. He is a co-founder and administrator of the first Java User Group in greece( and occasional speaker on meet-ups and seminars and regular blogger. For his contributions and involvement on the Java community he has been awarded the title of Java Champion in 2007 by Sun Microsystems.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Newest Most Voted
Inline Feedbacks
View all comments
10 years ago

It’s really nice to learn…

10 years ago

Don’t forget IntelliJ. It is the nicest Java IDE and has a free community version as well.

10 years ago

If you only put those environment variables in .profile it only applies to the command-line. If you also want them to be in effect system-wide (including GUI applications) then you need to put them in /etc/launchd.conf. I believe you need to reboot to get luanchd.conf to be re-read.

10 years ago
Reply to  Mike

It really depends. I agree that you can do that, it is perfectly fine but personally i dont like messing around with the global environment.

It is more clear to manage your user based profile. Maybe another user on the same machine would like something else.

you can always change your global $PATH variable on the .profile and then javaw and java would be picked up accordingly!

Paris Apostolopoulos
10 years ago

Correct :)

Coherent Java
10 years ago

3 easy steps, thanks Paris, useful tips, as always!

10 years ago
Reply to  Coherent Java

Thanks Coherent :)

Back to top button