Java does port well. I spent years developing Java apps on 32-bit Windows machines to be deployed to 64-bit Sparc machines without any problems. But that's because I didn't get cute and attempt to exploit hardware or OS dependencies. It wasn't like it was that hard to do.
Sadly I have had the opposite experience but then the software that I work with expects to interact with other software and resources used by other software. Java is fine if it exist in it's own contained little world and seems to port fairly easily but once you step outside of that world it becomes a pain in the ass.
I guess if they were stealing the recipee for Charmin that would also be military secrets.
No that is civilian tech only. For the military version they need to talk to 3M.
Living on Earth may be expensive, but it includes an annual free trip around the Sun.