I also ran into trouble compiling an app on OSX 10.3 because of the missing jni.h library
It turns out that the default file present in /System/Library/Frameworks/JavaVM.framework/Headers/ is actually a broken symbolic link! :
root# ls -l /System/Library/Frameworks/JavaVM.framework/Headers/jni.h
lrwxr-xr-x 1 root wheel 30 23 Feb 17:55 /System/Library/Frameworks/JavaVM.framework/Headers/OLD_jni.h -> ../../CurrentJDK/Headers/jni.h
and this file doesn't exist!
I managed to get it to compile by pointing the Java library path at the place where the Headers actually live, which is:
Hope that helps,