My first choice is always JNA over JNI.
It totally side steps the hell called C-tool chain so it is most of the time trivial to
get off the ground and up to speed. Development and especially maintenance
in different (than original development) environments is so much easier.
Well worth the extra dependency even for a single call to OS API, IMO.
Just include the JNA in your path, write a few lines of Java and you can
call almost any API function that takes native parameters, complex
paramaters take a few more lines but often are trivial too.
Try that with JNI.
wrb Kusti