在我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進行編譯,我應該可以做到嗎? –