Friday, 26 August 2011

How to hook up Eclipse to Mac OSX Lion System JDK for source code and javadocs

With a bit of help from the #geotools IRC channel (thanks Micheal Bedward) I have gotten around to hooking up Eclipse with the "normal" Mac OSX JDK.
The normal JDK is actually a bit hard to find; as it requires a separate download. The location of the JDK has also recently moved leaving much of the documentation out of date.
Here is how to fix things up:
  1. Lion does not come with a JDK; you can go and download one directly from Yes you need to sign up and login with your apple id. The download column is over on the right; and you should be able to find your way.
  2. The jdk is installed into a different location then pervious. This will result in IDEs (such as Eclipse) being unable to locate source code and javadocs.
  3. At the time of writing the JDK ended up here: /Library/Java/JavaVirtualMachines/1.6.0_31-b04-415.jdk/Contents/Home
    Please go ahead and have a look to confirm where your JDK ended up; this will no doubt change over time.
  4. Open up eclipse preferences and go to Java --> Installed JREs page
  5. Rather than use the "JVM Contents (MacOS X Default) we will need to use the above JDK location
  6. At the time of writing the Search button was not aware of the new JDK location; we we will need to click on the Add button and hunt it down ourselves.
  7. From the Add JRE wizard choose "MacOS X VM" for the JRE Type
  8. For the JRE Definition Page we need to fill in the following:
    JRE Home:/Library/Java/JavaVirtualMachines/1.6.0_26-b03-383.jdk/Contents/Home
  9. The other fields will now auto fill, with the default JRE name being "Home". You can quickly correct this to something more meaningful:
    JRE name:System JDK
  10. Finish the wizard and return to the Installed JREs page
  11. Choose "System JDK" from the list
You can now developer normally with javadocs correctly shown for for the base classes like java.lang.String, source code correctly shown when debugging.

Monday, 8 August 2011

GeoTools Build Instructions

I have spent a bit of time dragging the build instructions out of the developers guide and into the GeoTools "User Guide" under a newly created "advanced" section. It is not that building from source difficult; it is more that is not interesting. Although perhaps that is only true if you already have it working.

So for the proper perspective I tried out the build in Maven 3; updating the instructions with a few tips as I went.

The most interesting is a tip on how to make the build faster using maven 3; surprisingly out of the box the maven 3 builder was slower on my machine. Fiddling with the command line options for parallel build support did eventually result in a pretty interesting speed increase.

The fastest build I managed was:

mvn install -DskipTests -o -T 2C
The above instructions roughly translate as: only build the core library, skip the tests, don't check external servers for new jars, and use two threads per core.

Which has been added the the Building FAQ.

A tip of the hat to Micheal Bedward for reviewing the above pages - Thanks!