As a whole, I suspect not. You would have to hard-code the correct hash into the jar and then have the program run the hash on the jar file and compare it to the hard-coded, known-to-be-correct hash. But you (the programmer) can't know the correct hash until you run the hash on the completed jar file which means you can't hard-code the correct hash until you've run a hash on the completed jar file. But the jar file isn't completed until it has the hard-coded hash inside it. Chicken and the egg. (note that changing a single bit of a file will alter the hash; that's the whole point of hashing)
A method that will work, though, is to have the correct hash stored on a server or something and the program would get its own hash and compare it to the one stored on the server.
You CAN hard-code the hashes for a bunch of individual files inside the jar (remember, the jar file is just a zip). You could do this for .class file, images, database files, etc... You just won't be able to do it, I think, for the individual file that contains all the correct hashes for the reason described above.
Also, note that MD5 isn't considered secure, anymore.