The ports system is FreeBSD's way of resolving all the 'dependency hell' issues for you. With big programs compiling from source may take time, but it ensures that you get a system where every component works seamlessly with the other components. And compiling in the background doesn't stop you from using your computer to other tasks. In short: use ports.
Due to legal issues, compiling java from ports requires you to download manually two or three files from
www.sun.com and place them to /usr/ports/distfiles/. When you build j2sdk from ports, the console messages will tell you which files you need to download. I know it's tough
but you can thank Sun for your troubles.