can someone point to me to a source of understanding about switching SDKs?
hi all,
I have 1.4.0 and want to upgrade to 1.4.2 or even 1.5.0 because of a commercial app which needs at least 1.4.2
But installing 1.4.2 (or higher) causes an exception in one of my own developed apps which doesn't occur when I run 1.4.0. This occurs after multiple framework calls finally ending in a Border object constructor throwing a null pointer exception. Starts with a call by my prog to setVisible( true ) on a JFrame...
Some time ago I tried to install 1.5.0 but gave up because it just wouldn't run my database connections (using odbc with Access 2000). Dare one say this is backwards incompatibility? I'm not qualified to say...
While I try to work out how to write code which will work with these versions I want to be able to switch easily from 1.4.0 to 1.4.2 and back again... but I can't work out how the system (Win XP) is determining which JDK to use... utterly mystified to find that (running cmd.exe followed by >java -version) java.exe appears to be "1.4.2" wherever the test is done, except for \jdk2 1.4.0\bin, AND REGARDLESS OF WHICH VERSION OF JAVA.EXE IS PRESENT FOR TESTING... i.e. if I copy the 1.4.0 java.exe to Windows\system32 it tells me this is version 1.4.2...
So how does this all happen? Pls point me where to read...
Also, when I install the 1.4.2 sdk I notice that it doesn't actually remove the 1.4.0 from the system (both SDKs present in the Add/Remove program list). Is this right?
Very grateful for any help...
Mike
# 1
> hi all,
>
> I have 1.4.0 and want to upgrade to 1.4.2 or even
> 1.5.0 because of a commercial app which needs at
> least 1.4.2
>
> But installing 1.4.2 (or higher) causes an exception
> in one of my own developed apps which doesn't occur
> when I run 1.4.0. This occurs after multiple
> framework calls finally ending in a Border object
> constructor throwing a null pointer exception.
> Starts with a call by my prog to setVisible( true )
> on a JFrame...
Likely, a bug fix between 1.4.0 and 1.4.2 is the cause. Check the list of bug fixes for all of the intervening Java versions. It's also possible (less likely) that a bug fix introduced an error.
> ome time ago I tried to install 1.5.0 but gave up
> because it just wouldn't run my database connections
> (using odbc with Access 2000). Dare one say this is
> backwards incompatibility? I'm not qualified to
> say...
Sun makes API changes when the makor version number changes - like from 1.4 to 1.5. As well, each minor version change can also introduce incompatibilities due to bug fixes. All of these are documented in a version's Release Document.
>
> While I try to work out how to write code which will
> work with these versions I want to be able to switch
> easily from 1.4.0 to 1.4.2 and back again... but I
> can't work out how the system (Win XP) is determining
> which JDK to use... utterly mystified to find that
> (running cmd.exe followed by >java -version) java.exe
> appears to be "1.4.2" wherever the test is done,
> except for \jdk2 1.4.0\bin, AND REGARDLESS OF WHICH
> VERSION OF JAVA.EXE IS PRESENT FOR TESTING... i.e. if
> I copy the 1.4.0 java.exe to Windows\system32 it
> tells me this is version 1.4.2...
>
> So how does this all happen? Pls point me where to
> read...
From the commandline, the java.exe that's executed (which is determined by the path that is used) calls the matching java.dll. This mail post has more details:
http://lists.apple.com/archives/webobjects-deploy/2003/Jun/msg00045.html
If IE is involved, then the Registry controls everything.
>
> Also, when I install the 1.4.2 sdk I notice that it
> doesn't actually remove the 1.4.0 from the system
> (both SDKs present in the Add/Remove program list).
> Is this right?
Yes, older version are not removed (by design).
>
> Very grateful for any help...
>
> Mike