Different Java version showing on command line

前端 未结 4 1752
灰色年华
灰色年华 2021-02-07 07:31

I have recently checked on my Java version. I ran the command java -version and I found out that I was using java version 1.7.0_09. But when I tried to

4条回答
  •  星月不相逢
    2021-02-07 08:12

    It's possible to have many JRE side-by-side on a computer.

    If the JRE is properly installed on Windows, informations about each version are stored in the registry. The installation process installs a special java.exe in the system PATH (%SYSTEMROOT%\System32). So you don't need to alter you PATH because this special java.exe will find the current JRE. From a command line, type java -version to display the current jre version installed.

    With release 1.6, it's now possible to select a different JRE installation than the last one without any registry modification.

    The JRE installation are listed in the registry in the key

    HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

    Take this simple test class

    public class ShowVersion {
     public static void main(String args[]) {
       System.out.println(System.getProperty("java.version"));
     }
    }
    

    On a system, with 1.6 and 1.5 installed. If you type

    > java ShowVersion
    

    It's probably the 1.6 JRE that will be used since it's the last installed.

    To force the 1.5 JRE instead, use this command line.

    > java -version:"1.5" ShowVersion
    

    If the bytecode is incompatible with the given JRE then .. it won't work, of course.

    ref : technote java 6

    You can always give the complete path to use a specific installation. Launching the JVM this way does not use the registry setting at all.

    >"C:\Program Files\Java\j2re1.4.1_02\bin\java" -version
    java version "1.4.1_02"
    

    source : Select a particular JRE from the command line

提交回复
热议问题