You are not logged in

Yes; but ATM it is still a bit of a kludge here.
Anirudha has the superior option (although it looks like mine). We're all awaiting merging of his tree into the formal mxe-octave tree.

As to my Java support cross-building on Linux:
- (Initially) I downloaded jni.h & jni_md.h from the links Michael supplied a while ago into a mxe-octave/tools/java_include subdir
- (Later) I simply copied the <Windows JAVA_HOME>/include/win32 subdir verbatim from the Windows 7 partition into <Linux JAVA_HOME>/include/ on that same laptop) (symlinking didn't work for unknown reason, I didn't bother to investigate)
- and then added the relevant compile flags to the configure stanza in mxe-octave/src/octave.mk (there's a catch in that this flag should point a subdir higher up:)

--with-java-includedir=</full/path/to/JAVA_HOME> \

I also used to have jvm.dll copied (from that same Windows Java install) into <Linux JAVA_HOME>/lib/i386/client/; later on I wiped it and just did:
"touch jvm.dll"
there - which proved sufficient as well.
Since Rik's patch for Octave configure.ac this isn't needed for Windows builds anymore.

I set this up several months ago and never looked back; since then all my MXE builds for Windows have Java working.

In an MXE-cross build, using your patch I see that configure output indicates that Java will get built ("Build Java interface: yes") so that looks hopeful.

Less good is that the build now breaks in or around Faddeeva.cc, from my past experience usually a sign that something in configure (compile flags?) is wrong. I can't fix that myself, I'll report on the maintainers ML.

Please leave this bug open until I have been able to completely cross-build a MinGW binary

I've attached a changeset that I believe works, but I have no way to test as I don't build on anything but Linux. Could you verify it?

configure.ac now looks for a windows oriented system and if it finds one it doesn't bother to search for jvm.dll. This is fine because the search is done at runtime through the registry rather than at compile time as for UNIX and Mac systems.

So as a temporary fix to silence the build process I just copied a Windows jvm.dll into the /usr/lib/...../client subdir on my Linux system and it didn't complain anymore. Octave got (cross-)built fine.

AFAIK Anirudha has fixed configure.ac in a more permanent way. I believe it is somewhere in his mxe-octave tree.