On Thu, Mar 27, 2008 at 11:59 AM, Nicolas Mailhot nicolas.mailhot@laposte.net wrote:
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 packages. 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-1.7.0.0
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 solid.
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. For instance, 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.
jesus rodriguez