How I ended up having two java VMs

I just wanted to install tomcat:

Package: tomcat5.5
Depends: java-gcj-compat-dev (>= 1.0.30-5) | kaffe (>= 2:1.1.6-3) | java2-runtime, libtomcat5.5-java (>= 5.5.20-4), adduser (>= 3.34), ecj-bootstrap, jsvc

Hmmm.. what’s that java2-runtime?


Package java2-runtime is a virtual package provided by:
sun-j2re1.5 1.5.0+update03
sun-java6-jre 6-00-2
sun-java5-jre 1.5.0-11-1
gij-4.1 4.1.2-4
gij 4:4.1.2-2

Well, in this case everithing is OK, since

sun-java5-jre is already the newest version.

However,

Package: ecj-bootstrap
Depends: ecj

Furthermore,

Package: ecj
Depends: gij-4.1 (>= 4.1.2-1), libgcj7-jar (>= 4.1.2-1), java-common (>= 0.23)

So, eventhough I have sun-java5-jre (even sun-java5-sdk), I also have to install gij-4.1.

Why is it always so complicated for me to run anything written in Java?