1

I have to use a software that require jre 1.3 or higher to run.( That is very software - last update is 9 years ago). My computer is win8 x64 and I have installed jre 1.8 on it. However the software didn't work, it show an error message: "require jre 1.3 or higher must be installed!". Please give me a solution. Thanks so much.

Phi Nguyen
  • 81
  • 8
  • 5
    is your JDK installed properly? Is JAVA_HOME set in your system varaibles? – Steffen Feb 03 '15 at 11:08
  • Check your PATH also – vikingsteve Feb 03 '15 at 11:10
  • 1
    Download and install JRE 1.3. Then use the absolute path to java.exe of version 1.3 to run the program. – PeterMmm Feb 03 '15 at 11:11
  • Double-check for possible PATH problems with `java -version`. – Drux Feb 03 '15 at 11:15
  • 2
    **DON'T** download and install JRE 1.3. Unless you pay for an Oracle Java support license, you won't be able to find a 1.3 JRE that is secure. Java 1.3 was end-of-lifed many, many years ago. The *real* solution is to figure out why the "software" cannot find your JRE 1.8 installation. – Stephen C Feb 03 '15 at 11:17
  • this might help: http://stackoverflow.com/questions/7284035/jre-1-3-or-higher-must-be-installed-jdk-1-3-or-higher-must-be-installed – Maxx Feb 03 '15 at 11:27
  • I have installed JDK properly, but that software still not work. java -version out put: java version "1.8.0_31" Java(TM) SE Runtime Environment (build 1.8.0_31-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode) – Phi Nguyen Feb 03 '15 at 11:49
  • 1
    Check the software you are trying to use. Does it require a 32-bit JRE? 'cos you have installed a 64-bit JRE. – Stephen C Feb 03 '15 at 11:57
  • Do you directly run `java` or `javaw` or is there maybe some batch file you have to run? My answer presumes that the error is generated from within the Java class files. – Maarten Bodewes Feb 03 '15 at 12:14

1 Answers1

2

This kind of error is to my knowledge not part of the Java runtime itself. That means that some kind of version check has been incorrectly implemented by the developer.

The version of Java can be found in the system property java.runtime.version, which is a String formatted like "1.7.0_60-b19". It's likely that this string value is checked, and that the developer made a programming mistake leading to this error.

As far as I know you cannot change the java.runtime.version property, so the only way around this is to install an older version or to fix the program.


Java versions are always binary compatible with older versions up till now, which means that older .class files are supported. It is possible to code an application into a corner in such a way that it doesn't run anymore, but in that case you would not expect a smooth error message to occur.

When I said "smooth" above I meant that the application didn't crash with an exception. The grammar and the case of "jre" - if copied correctly - is another indication that this is not an exception generated within the JRE.

Earlier Java applications were sometimes directly linked with a certain Java runtime as company policy. Sad but true.

Maarten Bodewes
  • 90,524
  • 13
  • 150
  • 263