Monty said:
Thanks, I had seen those directions and followed them, but I guess my
understanding of the Java directory sturcture is in question. Having
run the installation script, I see it creates a directory called
jre1.6.0_03 in whatever directory I run the script. It appears to
have a very similar structure to a directory named jre in our Java
installation directory (/usr/java1.2). Do I link that jre directory
to the new jre1.6.0_03 directory?
You apparently have a UNIX-like environment, such as BSD, Linux or Solaris,
correct?
Let's say you have a standard location to root all your Java installations. I
use /opt/java/ here. Apparently it's /usr/ at your location. Let's just
pretend that we have an envar JAVA_PARENT for that directory. In my case,
using bash I'd
$ export JAVA_PARENT=/opt/java
(You don't actually need this envar, of course, it just makes things easier to
talk about on Usenet.)
Unpack or copy your jre1.6.0_03 to $JAVA_PARENT. In your case you now have
two subdirectories:
$JAVA_PARENT/java1.2
$JAVA_PARENT/jre1.6.0_03
Now point JRE_HOME to the correct one, modify your PATH to use the correct
bin/ subdirectory of that one, and away you go.
Another way is to symbolically link your correct version of Java to, say,
$JAVA_PARENT/java. Then all things Javaesque can use
JRE_HOME=$JAVA_PARENT/java, and all you have to do is update the symbolic link
when you change versions.
The popular 'alternatives' mechanism can help you manage multiple versions of
the same service. Here's what I have:
# /usr/sbin/alternatives --display jdk
jdk - status is auto.
link currently points to /opt/java/jdk1.6.0_03-32
/opt/java/jdk1.5.0_13 - priority 1513
slave jre: /opt/java/jdk1.5.0_13/jre
/opt/java/jdk1.6.0_03 - priority 1600
slave jre: /opt/java/jdk1.6.0_03/jre
/opt/java/jdk1.6.0_03-32 - priority 1603
slave jre: /opt/java/jdk1.6.0_03-32/jre
Current `best' version is /opt/java/jdk1.6.0_03-32.
I use 'alternatives' to set up my symbolic link to /usr/java/java, which
currently points to the `best' version: /opt/java/jdk1.6.0_03-32.
$ echo $JAVA_HOME
/usr/java/java
$ echo $JRE_HOME
/usr/java/java/jre
(Aside: /usr and /opt are on separate hard drives. I find /usr more "natural"
as a location for things like JAVA_HOME, but I use /opt for large things.
Through the magic of the "ln -s" performed by 'alternatives', I have the best
of both.)