當我鍵入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
我得到以下信息:
爲什麼這個 ?我需要做些什麼來擺脫這一點?
當我鍵入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
我得到以下信息:
爲什麼這個 ?我需要做些什麼來擺脫這一點?
您已經安裝了其中包含的東西執行 Java程序的Java運行時環境(JRE),而不是Java開發工具包(JDK),其中包含的東西構建這樣的應用程序,比如編譯器。所以安裝這些軟件包中的一個,正如該消息告訴你的,例如,
sudo apt-get install openjdk-7-jdk
不應該是6嗎? –
JDK7用於編譯Java6和Java7的代碼,而JDK6顯然不會編譯Java7的代碼。因此,選擇更新的版本是成功編譯的更安全選擇。應用程序的穩定性可能是使用更老的和更多測試的Java版本的原因,所以最終的選擇是你的。 – MvG
我的意思是如果解釋器是6爲什麼編譯器應該是7? –
的java
命令執行已編譯的.class文件(Java字節碼)的程序,它只是運行時環境。
javac
是Java編譯器。它將Java源代碼轉換爲Java字節碼(.class文件)。
這兩個是單獨的程序,因爲典型的用戶只需要運行時(java
)而不是javac
。
您需要安裝一個列出的軟件包(最好是openjdk-6-jdk,因爲它將與您的java安裝兼容)。
看來你剛剛安裝了JRE而不是JDK ...... JRE沒有提供'javac'。你安裝了哪些軟件包? – home