On Thu, Apr 24, 2008 at 9:39 AM, Levi Pearson <[EMAIL PROTECTED]> wrote: > At work, we have to use several crappy Java programs (not Java's > fault, of course), and several of them are very particular about their > Java versions. Having to have several versions of the JRE installed > kind of sucks, but at least some of the blame probably lies with the > programmers of said crappy applications.
The committee that directs the Java specification (the JCP), has painstakingly tried to maintain backwards compatibility with each new release of Java. An app written for Java 1.2 should run fine on Java 6. However, there have been a few times where they've broken the rules and caused incompatibilities between old classes or the way the JRE works for the good of the platform as a whole moving forward. Java 5 broke some minor things, and Java 6 broke some more. Here is a comprehensive list of the incompatibilities between releases: http://java.sun.com/javase/technologies/compatibility.jsp In the vast majority of cases, you should be able to just run your old Java app on the newer JRE. However, many app vendors claim that their product will only run on Java version such-and-such, when in fact it will run on the newer JRE perfectly. Contrast this with .NET which has major incompatibilities between releases and has even broken some things with service pack updates. The apps that you're talking about on your box may actually be depending on some of these odd-ball things in the older JRE's and really does depend on an old version, but I doubt it. And for the record, the new Java 6u10 release is supposed to transparently handle the management of multiple JREs installed on the system at one time. So if I write an app and declare that it depends on Java 6u11, the old JRE will know that it needs to install the kernel of the new JRE to run my app (as well as get older versions that aren't installed). -Bryan /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
