Aside from the reasons you've given, because Java's not as portable as Perl 5 or C. Seriously -- show me a Java compiler and a Java VM that run on platforms like Stratus VOS, Windows CE, Cygwin, or VMS, as well as stalwarts like NetBSD and Linux. gcc is available there -- how about javac?
That's not to say Java couldn't do it, but portability concerns alone would rule it out. Performance was probably also a concern -- why reimplement a virtual machine on top of another virtual machine?
For what it's worth, chip had a secret project in 1999 called "Topaz", which involved rewriting Perl 5 in C++. I believe he also spent a week porting it to GNOME libraries. It's a nice academic exercise, but the odds seem to be stacked slightly against practical results. (Don't let me completely discourage you, though. :)