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
- Java 6 for MacOSX (by Apple) (1.6_065)
- Eventually if you already have typed java in your terminal, the system might have already prompted you and installed this one for you, if not download it.
- Java 7 for MacOSX (by Oracle) (at the time being 1.7.045)
- Apache Ant (at the time being 1.9.2)
- Apache Maven (at the time being 3.1.1)
- Gradle (a the time being 1.10)
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.
Done
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.
It’s really nice to learn…
Don’t forget IntelliJ. It is the nicest Java IDE and has a free community version as well.
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.
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!
Correct :)
3 easy steps, thanks Paris, useful tips, as always!
Thanks Coherent :)