在命令行上显示的不同Java版本

Fra*_*oel 16 java cmd version

我最近检查了我的Java版本.我跑了命令java -version,发现我正在使用java version 1.7.0_09.但是当我试图检查C:\Program Files\Java\目录时,我似乎没有找到相同的版本.我只看到以下内容:

  • j2re1.4
  • jdk1.6.0_32
  • jdk1.7.0_06
  • jdk1.7.0_07
  • JRE6
  • jre7

等等...

我的程序仍在运行,但我只是尝试手动编译所有内容,并了解操作系统如何处理Java.

另一件奇怪的事情是,我试图检查环境变量设置,它没有说什么jdk1.7.0_09.

路径:

  • C:\ Program Files\Common Files\Microsoft Shared\Windows Live;
  • %SYSTEMROOT%\ SYSTEM32;
  • %SYSTEMROOT%;
  • %SYSTEMROOT%\ System32下\ WBEM;
  • %SYSTEMROOT%\ System32下\ WindowsPowerShell\V1.0 \;
  • C:\ Program Files\TortoiseSVN\bin;
  • C:\ Program Files\Windows Live\Shared;
  • C:\蚀\插件\ com.google.appengine.eclipse.sdkbundle_1.6.5\AppEngine上的Java-SDK-1.6.5\BIN;
  • C:\ Program Files\Java\jdk1.7.0_07\bin; C:\ Program Files\QuickTime\QTSystem \;
  • %ANT_HOME%\ bin中

只是想让你们知道它以某种方式自动成为一个jre.

完整的目录是C:\Users\User02\AppData\LocalLow\Sun\Java\jre1.7.0_09,它只是命名文件lzma.dll.

但是,我有另一个目录说C:\Users\User02\AppData\LocalLow\Sun\Java\jdk1.7.0_07.里面的文件是:

  • jdk1.7.0_07.msi
  • sj170070.cab
  • ss170070.cab
  • st170070.cab
  • 和sz170070.cab

Rea*_*wTo 15

可以在计算机上并排放置许多JRE.

如果在Windows上正确安装了JRE,则有关每个版本的信息都存储在注册表中.安装过程在系统PATH(%SYSTEMROOT%\ System32)中安装特殊的java.exe.所以你不需要改变PATH,因为这个特殊的java.exe会找到当前的JRE.在命令行中,键入java -version以显示安装的当前jre版本.

在1.6版本中,现在可以选择不同于最后一个的JRE安装而不进行任何注册表修改.

JRE安装在密钥注册表中列出

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java运行时环境

参加这个简单的测试课程

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

在系统上,安装了1.6和1.5.如果你输入

> java ShowVersion
Run Code Online (Sandbox Code Playgroud)

它可能是1.6 JRE,因为它是最后安装的.

要强制使用1.5 JRE,请使用此命令行.

> java -version:"1.5" ShowVersion
Run Code Online (Sandbox Code Playgroud)

如果字节码与给定的JRE不兼容,那么它当然不起作用.

ref: technote java 6

您始终可以提供使用特定安装的完整路径.以这种方式启动JVM根本不使用注册表设置.

>"C:\Program Files\Java\j2re1.4.1_02\bin\java" -version
java version "1.4.1_02"
Run Code Online (Sandbox Code Playgroud)

source:从命令行中选择特定的JRE


小智 5

添加以下内容将解决您的问题:

set JAVA_HOME="your jdk path"
set PATH=%JAVA_HOME%\bin;%PATH%.
Run Code Online (Sandbox Code Playgroud)

此外,如果它不起作用,则意味着您已经PATH为多个 Java 版本设置了,只包含最新的一个并从PATH变量中删除所有。