1. centos安裝java的問題
是不是下載的文件格式有問題?
需要下載的是linux self-extracting file而非Linux RPM in self-extracting file,你再檢查一下。
可以按照以下步驟進行:
第一步:查看Linux自帶的JDK是否已安裝 (卸載centOS已安裝的1.4)
<1># rpm -qa|grep jdk ← 查看jdk的信息或直接執行
或
# rpm -q jdk
或
# java -version
<2># rpm -qa | grep gcj ← 確認gcj的版本號
<3># yum -y remove java-1.4.2-gcj-compat ← 卸載gcj
第二步:安裝JDK
<1>從SUN下載jdk-1_5_0_14-linux-i586-rpm.bin或jdk-1_5_0_14-linux-i586.bin
在/usr下新建java文件夾,將安裝包放在/usr/java目錄下
# mkdir /usr/java
<2>安裝JDK
# cd /usr/java
①jdk-1_5_0_14-linux-i586-rpm.bin文件安裝
# chmod 777 jdk-1_5_0_14-linux-i586-rpm.bin ← 修改為可執行
# ./jdk-1_5_0_14-linux-i586-rpm.bin ← 選擇yes同意上面的協議
# rpm -ivh jdk-1_5_0_14-linux-i586.rpm ← 選擇yes直到安裝完畢
②jdk-1_5_0_14-linux-i586.bin文件安裝
# chmod a+x jdk-1_5_0_14-linux-i586.bin ← 使當前用戶擁有執行許可權
# ./jdk-1_5_0_14-linux-i586.bin ← 選擇yes直到安裝完畢
第三步:配置環境變數
<1># vi /etc/profile
<2>在最後加入以下幾行:
export JAVA_HOME=/usr/java/jdk1.6.0_10
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
<3># reboot ← 重啟機器配置生效
我在做第二中文網http://dearzw.com得時候也遇見過這個問題,按照上面的步驟應該就OK了。
2. centos安裝jdk,我說按照網上來的,可是第一次可以查看到java -version,然後我第二次就查不到了。
判斷是否安裝
首先,我們得判斷機子上是不是安裝了jdk,好多人推薦使用java -version命令。我的計算機上使用java -version命令,內容如下:
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.2.el6_4-i386 u45-b15)
OpenJDK Server VM (build 24.45-b08, mixed mode)
這看起來好像我的機子中已經安裝了jdk,但是當我使用javac時,會提示:
-bash: javac: command not found
這說明第一個java命令,不是安裝的jdk中的java命令,而是在$PATH的所有路徑下有一個可以執行的java文件,說明jdk還是沒有正確安裝。這個要特別注意。
安裝jdk
去http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html中下載jdk的安裝文件。由於我的Linux是32位的,因此我下載jdk-8u25-linux-i586.tar.gz文件。
新建/usr/java文件夾,將jdk-8u25-linux-i586.tar.gz放到該文件夾中,並將工作目錄切換到/usr/java目錄下。
執行命令tar -zxvf jdk-8u25-linux-i586.gz 進行解壓,解壓後發現/usr/java多了一個jdk1.8.0_25文件夾。
通過以上步驟,jdk就已經全部安裝完成了。下面,就是環境變數的配置。
配置環境變數
使用vim /etc/profile編輯profile文件
在/etc/profile底部加入如下內容
JAVA_HOME=/usr/java/jdk1.8.0_25
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
以上,環境變數配置完成。需要注意的是,PATH在配置的時候,一定要把$JAVA_HOME/bin放在前面,不然使用java命令時,系統會找到以前的java,再不往下找了。這樣java這個可執行文件運行的目錄其實不在$JAVA_HOME/bin下,而在其它目錄下,會造成很大的問題。
還要注意,以前其它教程寫的CLASSPATH=$JAVA_HOME/lib.tools.jar,不知道以前的版本是怎麼樣的,現在的版本是沒有這樣的jar包的。
最後使用source /etc/profile讓profile文件立即生效。
命令測試
使用javac命令,不會出現command not found錯誤
使用java -version,出現版本為java version "1.8.0_25"
echo $JAVA_HOME, echo $CLASSPATH, echo $PATH,看看自己的配置是否都正確。
代碼測試
在自己的工作目錄下創建一個新文件Hello.java,寫入如下內容:
public class Hello{
public static void main(String[] args){
System.out.println("Hello World");
}
}
執行命令如下,如果得到以下結果,說明jdk安裝完成。
[gqq@pku ~/JavaProjects/test]$ javac Hello.java
[gqq@pku ~/JavaProjects/test]$ java -cp . Hello
Hello World
當然,我們安裝的jdk8,應該測試下jdk8的特性。可以使用jdk8特有的stream來測試,代碼如下:
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
public class TestLambda1 {
public static void main(String[] args) {
// Aggregate Operations
List<String> myList = Arrays.asList("zhangsan", "lisi", "wangwu",
"liuliu");
myList.stream().filter(x -> x.contains("a")).map(x -> x.toUpperCase())
.forEach(x -> System.out.println(x));
}
}
使用以下命令運行,得到結果,說明安裝沒有問題。
[gqq@pku ~/JavaProjects/test]$ javac TestLambda.java
[gqq@pku ~/JavaProjects/test]$ java -cp . TestLambda
ZHANGSAN
WANGWU
3. 鎴戝湪centOS linux瀹夎卝dk1.6鍚庯紝榪愯宩ava鎴杍avac鍛戒護鎶ラ敊鏄鏉傚洖浜
涓銆佽蔣浠朵笅杞
1銆佷笅杞絁DK錛堜笅闈㈠垎鍒鏄32浣嶇郴緇熷拰64浣嶇郴緇熶笅鐨勭増鏈錛
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-i586.tar.gz?AuthParam=1350717577_ #32浣
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-x64.rpm?AuthParam=1350717726_ #64浣
# getconf LONG_BIT # 鏌ョ湅緋葷粺澶氬皯浣
浜屻佸畨瑁匤DK7.0鐗堟湰
1銆佸厛鍗歌澆鏈嶅姟鍣ㄨ嚜甯︾殑jdk杞浠跺寘
# java -version #鏌ョ湅鏈嶅姟鍣ㄦ槸鍚﹀畨瑁呰繃jdk
java version "1.6.0_17"
OpenJDK Runtime Environment (IcedTea6 1.7.4) (rhel-1.21.b17.el6-i386)
OpenJDK Client VM (build 14.0-b16, mixed mode)
# rpm -qa |grep gcj #鏌ョ湅鏈嶅姟鍣ㄥ畨瑁呯殑jdk杞浠跺寘淇℃伅
libgcj-4.4.4-13.el6.i686
java-1.5.0-gcj-1.5.0.0-29.1.el6.i686
# yum -y remove java-1.5.0-gcj-1.5.0.0-29.1.el6.i686 #鍗歌澆杞浠跺寘
2銆佸畨瑁卝dk7.0
瑙e帇閰嶇疆瀹夎
# mkdir -p /usr/lib/jvm
# tar zxvf jdk-7u9-linux-i586.tar.gz -C /usr/lib/jvm
# mv /usr/lib/jvm/jdk1.7.0_09 /usr/lib/jvm/java7
3銆佹坊鍔爅dk7.0鍒扮郴緇熺幆澧冨彉閲
錛冦cp /etc/profile /etc/profile.bak #澶囦喚
錛冦vi /etc/profile #緙栬緫,鍦ㄦ渶鍚庢坊鍔犱笅闈㈢殑鍐呭
export JAVA_HOME=/usr/lib/jvm/java7
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
錛冦source /etc/profile 銆銆銆#浣塊厤緗鏂囦歡絝嬪嵆鐢熸晥
鐢變簬緋葷粺涓鍙鑳戒細鏈夐粯璁ょ殑鍏朵粬鐗堟湰JDK錛屾墍浠ワ紝涓轟簡灝嗘垜浠瀹夎呯殑JDK璁劇疆涓洪粯璁JDK鐗堟湰錛岃繕瑕佽繘琛屽備笅宸ヤ綔銆
update-alternatives --install /usr/bin/java java /usr/lib/jvm/java7/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java7/bin/javac 300
update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java7/bin/jar 300
update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java7/bin/javah 300
update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java7/bin/javap 300
鎵ц屼笅闈㈠懡浠わ紝璁劇疆榛樿ょ増鏈錛屾ゅ懡浠ゆ墽琛屽悗錛岀郴緇熶細鍒楀嚭褰撳墠瀛樺湪鐨勫悇縐岼DK鐗堟湰錛屼細鎻愮ず浣犻夋嫨
# update-alternatives --config java
4銆佹祴璇
# java -version # 嫻嬭瘯鏄鍚︽垚鍔
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Client VM (build 23.5-b02, mixed mode)
4. linux下怎麼卸載自帶的JDK和安裝想要的JDK
安裝linux系統後,系統有自帶jdk的版本,因為系統中的有些軟體需要使用此環境。但時候我們安裝eclipse和tomcat的時候,使用此jdk是不行的。這時候我們就需要安裝我們自己下載的jdk,但在此之前我們需要卸載系統自帶的jdk.
工具/原料
CentOs6.x本版的linux系統
jdk,下載網址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html ,選擇你需要的版本進行下載
下面的安裝是用rpm包演示的,所以請下載rpm包文件。
方法/步驟
首先查看系統中原有的java版本:java -version;然後用再用:rpm -qa | gcj命令查看具體的信息,最後用:rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64卸載。
把下載rpm包拖入linux系統中,進入到相應的目錄下執行:rpm -ivh jdk-7u51-linux-x64.rpm
安裝好後,配置環境變數:執行 vi /etc/profile命令,添加如下圖的配置信息。注意:目錄要寫上你自己的安裝目錄,一般默認是安裝在/usr/java下的。
JAVA_HOME=/usr/java/jdk1.7.0_45
TOMCAT_HOME=/home/syx/server/tomcat
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export TOMCAT_HOME
export PATH
export CLASSPATH
4
如果你不想重新系統,可以用命令source /etc/profile使配置文件立即生效。否則只能重啟系統才能使配置參數生效。然後我們可以通過 echo $JAVA_HOME ;echo $PATH;echo $CLASSPATH,查看配置的信息。
5
最後我們再次通過:java -version查看我們是否成功安裝了jdk。