歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> ubuntu下安裝JDK詳解

ubuntu下安裝JDK詳解

日期:2017/3/3 16:58:07   编辑:關於Linux

安裝JDK其實只要搞定兩個問題,安裝目錄以及配置文件。如果你只想要快速安裝JDK,請略過此部分直接看安裝篇。 分析篇 目錄分析 網上的安裝JDK資料中安裝目錄基本有兩種——/opt和/usr/local。這兩個目錄安裝在哪裡其實都無所謂,只不過在以前的linux中人們習慣將軟件安裝在/usr/local中。這裡推薦/opt目錄。 配置文件分析 網上好多人提到了/etc/environment,/etc/profile,/etc/bash.bashrc,~/.bashrc 這四個配置。那JDK環境變量到底應該配在哪裡呢? 各配置文件意義 /etc/environment:設置整個系統的環境,與登錄用戶無關 /etc/profile:系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行並從/etc/profile.d目錄的配置文件中搜集shell的設置 /etc/bash.bashrc:為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取. ~/.bashrc: 該文件包含專用於該登錄用戶bash shell的bash信息,當登錄時以及每次打開新的shell時該該文件被讀取 各配置的生效時間 /etc/environment:重啟生效 /etc/profile:注銷後登錄生效 /etc/bash.bashrc:重新打開bash shell後生效 ~/.bahsrc:重新打開bash shell後生效 對於安裝JDK來說,JDK的環境變量肯定是與用戶有關的,所以/etc/environment就不太適合,而用戶可能不只一個,所以 ~/.bahsrc也不適合。 我首先想到的就是將JDK環境變量配置在/etc/profile中。可是這樣遇到了點小問題。 配置好後注銷系統後登錄,對於普通用戶java環境變量生效了,但sudo su獲得root權限後java環境變量就不可用了。如下圖:

查閱資料,可以su – root這樣切換到root用戶後才會生效。如下圖:

如果你此時使用root用戶登錄,運行java -version看的話其實JDK環境變量是生效的。我懷疑sudo su雖然獲得了root權限,但是root用戶是沒有登錄的,所以root用戶就沒有執行/etc/profile。還有man su,“-”的意思是“使得shell為可登錄的shell”。 另外如果將JDK環境變量配置在/etc/bash.bashrc中,如果java程序不是在shell中啟動的,比如eclipse,這樣就讀不到JDK環境變量,導致無法運行。 經過上面的分析給出解決方案: 將JDK同時配置在/etc/profile和/etc/bash.bashrc中 安裝篇 一、下載JDK安裝文件 32位系統請下載 jdk-6u37-linux-i586.bin 64位系統請下載 jdk-6u37-linux-x64.bin 我這裡使用64位版本 二、拷貝JDK文件到/opt目錄 # mv jdk-6u37-linux-x64.bin /opt 三,授權,並執行 chmod +x jdk-6u37-linux-x64.bin ./jdk-6u37-linux-x64.bin 四,設置環境變量 vim /etc/profile vim /etc/bash.bashrc 在兩個文件的末尾都加上下面一段 #set java environment export JAVA_HOME=/opt/jdk1.6.0_37 export JRE_HOME=/opt/jdk1.6.0_37/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 五,重新打開終端,搞定 java –version

Copyright © Linux教程網 All Rights Reserved