2014-05-01 57 views
1

在我C:\Program files\java文件夹中我有三个文件夹:“Java的版本”命令可以显示不同的版本比我有什么

jdk1.6.0_45 
jre6 
jre7 

然而,在命令提示符下键入命令java -version给出了下面的输出:

java version "1.7.0_51" 

这有什么意义?我认为它应该有输出jdk1.6.0_45。这怎么解释?

+0

你为什么认为应该打印出对应于Java 6的版本? –

+1

'java'命令调用Java *解释器*而不是*编译器*,因此可以在JRE包(即'jre7')中找到它。 – Elliott

+0

@Elliott如果我想用JDK7进行编译,我应该可以做到吗? –

回答

1

已经回答了这个在评论线程,但以供将来参考:

广义上讲,JDK包决定了Java编译器的版本(javac),你必须和JRE包决定了Java解释器的版本( java)你有。

当你输入java或者在命令行javac所运行的版本是在您的PATH环境变量,它通常将指向从最新的软件包的最新版本列出的版本(Java安装做这行您)。

JDK将同时安装相应的JRE,因此只需安装最新的JDK即可拥有相同版本的javajavac

+0

安装新的JDK(和JRE)后,是否需要'告诉Java''连接'到新的JDK?或者只是下载并安装它就足够了? –

+0

@Prog安装程序应该自动更新你的'PATH'! – Elliott

0

你有一个jre7所以我认为它是update 51

的Java默认情况下,作为最新版本。

1

也许它发现有来自jre7文件夹内?您可以检查您的PATH以查看其可执行文件的位置。

0

它也可以是JAVA_HOME ENV指向的位置和位置。

相关问题