After quite a while away from it, I recently came back to dealing with graphics I/O in Java.

At one level, things have gotten much easier in the time I was away – in particular, the ImageIO library is now part of the standard JRE. This means that, for the most part, you can count on being able to read and write a variety of different file formats without looking for add-on packages.

Unfortunately, one of the projects that Sun started, but which Oracle appears to have abandoned, is the Java Advanced Imaging (JAI) project. This was a collection of heavier-duty graphics routines that provide more features than are built into the standard JRE. JAI got transitioned over to, where it was community supported.

This is a perfectly fine and good thing. However, the JAI project went rather dormant. Worse, at some time a while back, the folks at decided to completely re-do their website organization. In the course of doing that, they orphaned lots and LOTS of links to JAI. Still worse, even many of the internal links within point to the wrong locations. If you’re looking for or, you won’t find them.

If you sleuth around, you can still find JAI, but all you’ll find is the source – the website doesn’t even link to the binary downloads that exist. Under normal circumstances this might be tolerable, but one of the quirks of JAI is that it contains a fair amount of native code, and rebuilding all of THAT would be a real pain.

Fortunately, it’s still “out there” – it’s just hard to find. So here are some useful links:

The JAI Image I/O Tools API Core project is particularly useful (at least to me) because it contains the plug-ins that allow ImageIO to read and write additional file formats, most particularly the TIFF format. (Why that isn’t in the JRE I’ll never know.)

The article Java Advanced Imaging Downloads originally appeared on