2012-09-05 46 views
0

當我鍵入java -version返回以下:javac的給出錯誤信息,它已經發現

java version "1.6.0_24" 
OpenJDK Runtime Environment (IcedTea6 1.11.1) (6b24-1.11.1-4ubuntu2) 
OpenJDK Server VM (build 20.0-b12, mixed mode) 

但是當我鍵入javac -version我得到以下信息:

​​

爲什麼這個 ?我需要做些什麼來擺脫這一點?

+4

看來你剛剛安裝了JRE而不是JDK ...... JRE沒有提供'javac'。你安裝了哪些軟件包? – home

回答

3

您已經安裝了其中包含的東西執行 Java程序的Java運行時環境(JRE),而不是Java開發工具包(JDK),其中包含的東西構建這樣的應用程序,比如編譯器。所以安裝這些軟件包中的一個,正如該消息告訴你的,例如,

sudo apt-get install openjdk-7-jdk 
+0

不應該是6嗎? –

+0

JDK7用於編譯Java6和Java7的代碼,而JDK6顯然不會編譯Java7的代碼。因此,選擇更新的版本是成功編譯的更安全選擇。應用程序的穩定性可能是使用更老的和更多測試的Java版本的原因,所以最終的選擇是你的。 – MvG

+0

我的意思是如果解釋器是6爲什麼編譯器應該是7? –

1

java命令執行已編譯的.class文件(Java字節碼)的程序,它只是運行時環境。

javac是Java編譯器。它將Java源代碼轉換爲Java字節碼(.class文件)。

這兩個是單獨的程序,因爲典型的用戶只需要運行時(java)而不是javac

您需要安裝一個列出的軟件包(最好是openjdk-6-jdk,因爲它將與您的java安裝兼容)。

相關問題