Link to home
Start Free TrialLog in
Avatar of sargent240
sargent240Flag for United States of America

asked on

Java upgrade to 7

I have a computer with an old version of Suse (10.2).  Upgrading the operating system at this time is not an option.  I have a program that requites java 7.  I downloaded the rpm file jre-7u21-linux-i586.rpm and executed the following command.

rpm -i  jre-7u21-linux-i586.rpm

I executed properly but when I run the program the same error occurs

Bad version number in .class file

I am obviously not getting this done properly or completely and need a hand.

Avatar of CEHJ
Flag of United Kingdom of Great Britain and Northern Ireland image

You need to prepend the bin directory of the new version to PATH and preferably set JAVA_HOME to the new installation dir

If you do both, do them in the opposite order ;)
Avatar of sargent240


As you have become aware over the past few months CEHJ I know enough about java and Linux to be dangerous.  After looking a little around the web I executed the following commands.

export JAVA_HOME=/usr/java/jre1.7.0_21/bin/java

Followed by

export PATH=$PATH:/usr/java/jre1.7.0_21/bin

Again, obviously I don't know what I am doing as the same problem occurs
Avatar of CEHJ
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
You should probably make those two lines the last ones of ~/.bashrc
JAVA_HOME should be the path to the java directory, not the binary.

Also, echo $PATH and make sure you don't still have the Java 6 path in there. You are appending the Java 7 bin path to the end, and it will look in the directories in sequential order.
Quick response cehj ;)

But I'm glad to see we agree.
Just try to uninstall old jre's. what is the result of this command?
java -version

the following is the info how to uninstall old jre:
Java Uninstall
 There are two ways to uninstall Java. Please use the method that you used when you installed Java. For example, if you used RPM to install Java, then use the RPM uninstall method.
RPM uninstall
 Note: If you have RPM on your Linux box, you should first find out if Java is already installed using RPM. If Java is not installed using RPM, you should skip reading.1.Open Terminal Window
2.Login as the super user
3.Try to find jre package by typing: rpm -qa
4.If RPM reports a package similar to jre-<version>-fcs, then Java is installed with RPM.

 Note: Normally, you do not need to uninstall Java with RPM, because RPM is able to uninstall the old version of Java when installing a new version! You may skip reading, unless you want to remove Java permanently.
5.To uninstall Java, type: rpm -e jre-<version>-fcs
CEHJ, I looked around for the jdk and noticed it is the development kit for writing java apps.  Do I need that if all I am going to do is execute a java program on the Suse 10.2 computer.
No you probably don't - but i got the idea (obviously wrongly ;)) that you did write stuff
OK, I will proceed.  I do write some stuff but that is done on another computer and I am trying to get the results to run on the 10.2 computer.  I will continue and let you know.  
I have included by .bashrc file below in case you see something I have incorrect.  I'll keep working on it in the mean time.


# Sample .bashrc for SuSE Linux                                                            
# Copyright (c) SuSE GmbH Nuernberg                                                        
# There are 3 different types of shells in bash: the login shell, normal shell            
# and interactive shell. Login shells read ~/.profile and interactive shells              
# read ~/.bashrc; in our setup, /etc/profile sources ~/.bashrc - thus all                  
# settings made here will also take effect in a login shell.                              
# NOTE: It is recommended to make language settings in ~/.profile rather than              
# here, since multilingual X sessions would not work properly if LANG is over-            
# ridden in every subshell.                                                                
# Some applications read the EDITOR variable to determine your favourite text              
# editor. So uncomment the line below and enter the editor of your choice :-)              
#export EDITOR=/usr/bin/vim                                                                
#export EDITOR=/usr/bin/mcedit                                                            
# For some news readers it makes sense to specify the NEWSSERVER variable here            
# If you want to use a Palm device with Linux, uncomment the two lines below.              
# For some (older) Palm Pilots, you might need to set a lower baud rate                    
# e.g. 57600 or 38400; lowest is 9600 (very slow!)                                        
#export PILOTPORT=/dev/pilot                                                              
#export PILOTRATE=115200                                                                  
export JAVA_HOME=/usr/java/jre1.7.0_21
export PATH=$(JAVA_HOME)/bin:$PATH

test -s ~/.alias && . ~/.alias || true
Yes that looks ok. Just remember you might want to fix that JAVA_HOME if and when you install a JDK
OK, good advice.  It still does not work and whenever I bring up a konsole the top line says,

bash: JAVA_HOME: command not found

then I get the command prompt as usual
Hang on - there IS an error. You copied my post wrongly (am i getting deja vu at this error?)

export PATH=$(JAVA_HOME)/bin:$PATH

Open in new window

export PATH=${JAVA_HOME}/bin:$PATH

Open in new window

(you use brackets, i use curly braces)