標籤:pat 設定檔 htm 曆史 gen 方式 上傳 分支 tar
情境:天下事有難易乎?為之,則難者亦易矣;不為,則易者亦難矣。人之為學有難易乎?學之,則難者亦易矣;不學,則易者亦難矣。
1 準備工作1.1 檢查系統版本
建議:在安裝軟體時候用root使用者進行安裝。
因為Java JDK區分32位和64位系統,所以在安裝之前必須先要判斷以下我們的Centos系統為多少位系統,命令如下:
uname -a
解釋:如果有x86_64就是64位的,沒有就是32位的。後面是X686或X86_64則核心是64位的,i686或i386則核心是32位的 由此可以判斷我的centos為64位系統,故而我需要下載64位系統的JDK。1.2下載JDK這裡我用的是1.7版本的JDK,並沒有選擇新版本1.8,因為我覺得這個版本的JDK比較穩定。點擊http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html,進入JDK下載頁面
底部的Java Archive儲存的是Java的曆史存檔,點擊進入
這裡就找到要下載的1.7版本了,繼續點擊
下面兩個都是64位的JDK,兩個的區別在於安裝方式不同。參考http://www.cnblogs.com/lixuwu/p/6097102.html
這裡我把兩個軟體都下載下來進行練習
1.3 JDK安裝環境
操作需要的軟體以及系統如下:虛擬機器(Vmware),虛擬機器中安裝的Centos系統,Xshell,FileZila,jdk-7u80-linux-x64.tar.gz
2 安裝JDK
通過上面準備工作之後,我們現在已經擁有了可以安裝JDK的環境。
2.1 建立使用者目錄然後在Xshell中使用命令跳轉到使用者指定的檔案夾下面(項目中通常每個項目都有自己單獨的JDK配置):project
在使用非root使用者登入時候,按照如下步驟操作:
#首先切換到root許可權su#建立目錄mkdir projectllcd project/
2.2 上傳JDK檔案到指定目錄
然後使用FileZila將jdk複製到project檔案夾下面,:
是解壓後的目錄列表,上傳的檔案是已經標註。
2.3 解壓JDK
直接在用JDK檔案所在目錄解壓縮檔案
tar -zxv -f jdk-7u80-linux-x64.tar.gz
查看JDK檔案內容:
通過上面的步驟,我們的jdk已經全部完成安裝了,接下來就是更重要的一步:配置環境變數
2.4 配置環境變數
1、先執行
vim /etc/profile
在JDK所在目錄下,尋找JDK的根目錄
pwd
JDK的絕對路徑在設定檔中會用到。
2、 開啟之後按鍵盤(i)進入編輯模式,將下面的內容複寫到底部
JAVA_HOME=/home/cs408/project/jdk1.7.0_80 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar export PATH JAVA_HOME CLASSPATH
備忘:根據上面的配置資訊,我們已經將環境變數的配置完成。需要注意的是,PATH在配置的哦時候,一定要把AVA_HOME/bin放在最前面,不然使用java命令式,
系統會找到以前的JAVA,在不往下找了,這樣java這個可執行檔啟動並執行目錄其實不在$JAVA_HOME/bin下,而在其它目錄下,會造成很大的問題。4、寫完之後我們按鍵盤(ESC)按鈕退出,然後按(:wq)儲存並且關閉Vim。5、配置完成之後,最重要的一步就是使檔案立即生效
source /etc/profile
3 驗證是否成功
java -versionecho $JAVA_HOME
4 卸載JDK 首先執行命令查看伺服器下的jdk的版本:
rpm -qa|grep jdk
然後執行命令,將上面查詢出來的每個版本以此刪掉即可。
yum -y remove java java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
5 補充OpenJDK和JDK之間的區別聯絡
曆史上的原因是,OpenJDK是JDK的開放原始碼版本,以GPL(General Public License)協議的形式放出(題主提到的open就是指的開源)。在JDK7的時候,OpenJDK已經作為JDK7的主幹開發,SUN JDK7是在OpenJDK7的基礎上發布的,其大部分原始碼都相同,只有少部分原始碼被替換掉。使用JRL(JavaResearch License,Java研究授權協議)發布。至於OpenJDK6則更是有其複雜的一面,首先是OpenJDK6是JDK7的一個分支,並且盡量去除Java SE7的新特性,使其盡量的符合Java6的標準。關於JDK和OpenJDK的區別,可以歸納為以下幾點:
授權協議的不同:OpenJDK採用GPL V2協議放出,而SUN JDK則採用JRL放出。兩者協議雖然都是開放原始碼的,但是在使用上的不同在於GPL V2允許在商業上使用,而JRL只允許個人研究使用。
OpenJDK不包含Deployment(部署)功能:部署的功能包括:Browser Plugin、Java Web Start、以及Java控制台,這些功能在OpenJDK中是找不到的。
OpenJDK原始碼不完整:這個很容易想到,在採用GPL協議的OpenJDK中,SUN JDK的一部分原始碼因為產權的問題無法開放給OpenJDK使用,其中最主要的部份就是JMX中的可選元件SNMP部份的代碼。因此這些不能開放的原始碼 將它作成plug,以供OpenJDK編譯時間使用,你也可以選擇不要使用plug。而Icedtea則為這些不完整的部分開發了相同功能的原始碼 (OpenJDK6),促使OpenJDK更加完整。
部分原始碼用開原始碼替換:由於產權的問題,很多產權不是SUN的原始碼被替換成一些功能相同的開原始碼,比如說字型柵格化引擎,使用Free Type代替。
OpenIDK只包含最精簡的JDK:OpenJDK不包含其他的軟體包,比如Rhino Java DB JAXP……,並且可以分離的軟體包也都是盡量的分離,但是這大多數都是自由軟體,你可以自己下載加入。
不能使用Java商標:這個很容易理解,在安裝OpenJDK的機器上,輸入“java-version”顯示的是OpenJDK,但是如果是使用Icedtea補丁的OpenJDK,顯示的是java。
總之,在Java體系中,還是有很多不自由的成分,原始碼的開發不夠徹底,希望Oracle能夠讓JCP更自由開放一些,這也是所有Java社區所希望的。
(轉)Linux(Centos)之安裝Java JDK及注意事項