On Thu, Mar 27, 2008 at 11:59 AM, Nicolas Mailhot
Le Jeu 27 mars 2008 15:57, Thomas Fitzsimmons a écrit :
> Ville Skyttä wrote:
> Yes, I've struggled to understand the same decision in the JDK
> I wonder why the extra level of versioning is required:
> $ ls -l /usr/lib/jvm/java-1.7.0-icedtea
> lrwxrwxrwx 1 root root 26 2007-12-11 14:36
> /usr/lib/jvm/java-1.7.0-icedtea -> java-1.7.0-icedtea-188.8.131.52
> Nicolas, do you know the rationale? To enable parallel-installation
> of multiple versions of the same JDK, perhaps?
When you are in closed JVM hell you need to manage black-boxes and for
this reason switching between different JVMs (or different builds of
the same JVM) is very common (talking from an ISV perspective which
was my job when I wrote the guidelines). You can't trust the vendor to
fix its bugs timely. You can't trust it not to create regressions in a
new build (that will take forever to ve fixed). All you can do it get
a range of jvms and switch between them till you identify the most
When openjdk gets solid enough people trust the OS jvm, and when java
projects get the clue they need to work with any JVM not just the
particular build they copied in their private build system, I expect
those possibilities to gradually fall into disuse. But right now easy
JVM switching is a must for users.
Another reason for parallel JVM installation is when you're working on
different releases of a product that requires different JVM levels.
I might have one that is certified to use 1.4.2 and another that requires 1.6.0.
I might be able to run my 1.4.2 under 1.6.0 but that's not always feasible.