SVM^{light} and Java
Direct API access is golden. Some years ago when I needed to access SVMlight from Java, I could not find a good JNI-based Java library that would let me do this; I did not have time to write my own, so resorted to using files to ferry data back and forth, wrapping it in a class to hide that fact from most of the code. But the truth remained, and it was ugly and slow.
On the SVMlight webpage, there are now two recent (supporting SVMlight v6.01) JNI-based additions, both of which look promising:
Googling around, I came across a Weka-wrapper for SVMlight as well. (Note that this employs the ferrying via the command-line/using files method, not JNI.)
JSVM from Stanford’s JavaNLP 3rd party libraries is also a JNI-based solution, but other than the javadoc, it was difficult to find anything on it.