2014年5月28日 星期三

如何安裝Oracle的JDK至Linux系統

為了在Linux系統上執行Java程式及編譯Java程式,我們必須在系統上安裝JVM及JDK(通常安裝好JDK就有JVM,而有JVM不代表有JDK),我租的VPS雲端伺服器上裝的Debian的Linux系統,其已經有安裝OpenJDK,不過我對這不太懂,也好像不能正常編譯Java檔案(我想可能是環境變數的問題),查詢了網上許多資料後,發現大家都比較喜歡Oracle公司提供的JDK,於是決定從善如流,安裝Oracle的JDK而非系統本身自帶的OpenJDK,參考了這篇文章(基於debian(ubuntu)的JDK安裝與卸載-vps環境搭建實錄(一))以後,順利地安裝了JDK並編譯執行Java檔案、程式成功,這邊記錄安裝的過程。

P.S. 雖然網上都建意要先移除OpenJDK,不過試了以後發現不用移除也能正常運作,在不衝突的情況下,倒可不必先移除OpenJDK。

1.首先先上Oracle的官網進行Linux版本的JDK下載,這裡我選擇的是與參考文章一樣的版本:jdk-6u38-linux-i586.bin

2.將下載下來的JDK檔案上傳到自己的雲端伺服器上後,使用SSH等方式進入放置JDK的資料夾,打上以下的指令執行JDK的安裝(注意下載的版本,指令請自行更改)
./jdk-6u38-linux-i586.bin

3.如果JDK因為權限問題無法安裝(會出現Pemission denied訊息),可用參考文章中所提及的兩種方法解決,我自己是用第一種方式解決
(1)在前面加上sudo sh ./jdk-6u38-linux-i586.bin
(2)添加權限再執行 sudo chmod u+x jdk-6u38-linux-i586.bin

4.接著要進行環境變數的設置,使用以下指令打開 "/etc/profile" 並對其內容進行修改
vi /etc/profile
在內容的後面加上以下代碼
#set java environment
export JAVA_HOME=/usr/local/jdk1.6.0_38
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
改完存檔後退出

5.接著要讓環境變數生效,我自己的方法是reboot系統讓其重新開機,應該也有更好的方法

6.接著就可打上
java

javac
看有無運作正常,也可使用
java -version
檢查版本

7.需要注意的是,如果發現使用 "java Java程式" 指令無法執行副檔名為class的Java程式,有可能是使用不同版本JDK編譯導致,這時可將原始碼(副檔名為java)上傳到Linux系統上後,直接在Linux系統上使用 "javac Java原始碼.java" 的指令對原始碼進行編譯並生成class檔,這時再用 "java Java程式" 的指令執行class檔應該就可以成功了。

補充:如果要讓除root以外的使用者使用java及javac指令的話,要打入 "visudo" 指令將使用者加入權限才行,如下(假設使用者叫做   testUser)

# User privilege specification
root ALL=(ALL:ALL) ALL
testUser ALL=(ALL:ALL) ALL

沒有留言 :

張貼留言