在我C:\Program files\java
文件夹中我有三个文件夹:“Java的版本”命令可以显示不同的版本比我有什么
jdk1.6.0_45
jre6
jre7
然而,在命令提示符下键入命令java -version
给出了下面的输出:
java version "1.7.0_51"
这有什么意义?我认为它应该有输出jdk1.6.0_45
。这怎么解释?
在我C:\Program files\java
文件夹中我有三个文件夹:“Java的版本”命令可以显示不同的版本比我有什么
jdk1.6.0_45
jre6
jre7
然而,在命令提示符下键入命令java -version
给出了下面的输出:
java version "1.7.0_51"
这有什么意义?我认为它应该有输出jdk1.6.0_45
。这怎么解释?
已经回答了这个在评论线程,但以供将来参考:
广义上讲,JDK包决定了Java编译器的版本(javac
),你必须和JRE包决定了Java解释器的版本( java
)你有。
当你输入java
或者在命令行javac
所运行的版本是在您的PATH
环境变量,它通常将指向从最新的软件包的最新版本列出的版本(Java安装做这行您)。
JDK将同时安装相应的JRE,因此只需安装最新的JDK即可拥有相同版本的java
和javac
。
安装新的JDK(和JRE)后,是否需要'告诉Java''连接'到新的JDK?或者只是下载并安装它就足够了? –
@Prog安装程序应该自动更新你的'PATH'! – Elliott
你有一个jre7
所以我认为它是update 51
的Java默认情况下,作为最新版本。
也许它发现有来自jre7文件夹内?您可以检查您的PATH以查看其可执行文件的位置。
它也可以是JAVA_HOME ENV指向的位置和位置。
你为什么认为应该打印出对应于Java 6的版本? –
'java'命令调用Java *解释器*而不是*编译器*,因此可以在JRE包(即'jre7')中找到它。 – Elliott
@Elliott如果我想用JDK7进行编译,我应该可以做到吗? –