* OpenGL and Java - It is such a pain to get this working. Mac, Windows, Linux, different versions, jar files and native libraries. I think I spent two days trying to get a 3D display in our app at work. Then I got home and found out I used the wrong GL interface and it wouldn't run on my Mac.
Really? I found LWJGL much easier to use than GLEW, freeGLUT and others.
Just downloaded the lib, link the natives in the IDE, and create a window (LWJGL 2 uses its own Display class, LWJGL 3 uses GLFW 3 to handle windowing). Got it working in Windows and Linux. No idea about OSX but it didn't supported OpenGL 3.3 for a long time so I didn't bothered much.
The only issue I had was an actual platform specific issue, you have to ask for 32 bit color in Windows and 24 bit color in Linux for the default framebuffer.
Although you could specify ways to handle what native libraries to load depending on the OS the user is running and things like that, LWJGL uses Java's Propertiy API to fetch a specific path if its specified.