find . -name *java | cpio -pvd /destination/directory
you could probably rearrange the command to allow you to copy from somewhere else than the current directory, but that will then use absolute paths, and so create leading directories all the way back to /, not just the current directory:
chris@trevor mail $ find .
chris@trevor mail $ find /home/chris/mail/