1. Linux下jdk的安裝包: a).bin包(jdk-6u45-linux-i586-rpm.bin) b).tar.gz包(jdk-8u144-linux-i586.tar.gz) c).rpm包(jdk-7u80-linux-i586.rpm) 2.Linux下jdk的安裝: a).bin ...
1. Linux下jdk的安裝包:
a).bin包(jdk-6u45-linux-i586-rpm.bin)
b).tar.gz包(jdk-8u144-linux-i586.tar.gz)
c).rpm包(jdk-7u80-linux-i586.rpm)
2.Linux下jdk的安裝:
a).bin包:
1 初始文件夾下只有jdk-6u45-linux-i586-rpm.bin文件: 2 [root@localhost jdk-6u45]# ll 3 總用量 67036 4 -rwxr-xr-x. 1 root root 68637258 7月 20 15:11 jdk-6u45-linux-i586-rpm.bin 5 6 給.bin文件的執行賦許可權 7 [root@localhost jdk-6u45]# chmod +x jdk-6u45-linux-i586-rpm.bin 8 9 10 執行.bin文件 11 [root@localhost jdk-6u45]# ./jdk-6u45-linux-i586-rpm.bin 12 Unpacking... 13 Checksumming... 14 Extracting... 15 UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-[email protected]). 16 inflating: jdk-6u45-linux-i586.rpm 17 inflating: sun-javadb-common-10.6.2-1.1.i386.rpm 18 inflating: sun-javadb-core-10.6.2-1.1.i386.rpm 19 inflating: sun-javadb-client-10.6.2-1.1.i386.rpm 20 inflating: sun-javadb-demo-10.6.2-1.1.i386.rpm 21 inflating: sun-javadb-docs-10.6.2-1.1.i386.rpm 22 inflating: sun-javadb-javadoc-10.6.2-1.1.i386.rpm 23 Preparing... ########################################### [100%] 24 1:jdk ########################################### [100%] 25 Unpacking JAR files... 26 rt.jar... 27 jsse.jar... 28 charsets.jar... 29 tools.jar... 30 localedata.jar... 31 plugin.jar... 32 javaws.jar... 33 deploy.jar... 34 35 Done. 36 [root@localhost jdk-6u45]# 37 38 當前文件夾下文件: 39 [root@localhost jdk-6u45]# ll 40 總用量 134524 41 -rw-r--r--. 1 root root 58463270 3月 27 2013 jdk-6u45-linux-i586.rpm 42 -rwxr-xr-x. 1 root root 68637258 7月 20 15:11 jdk-6u45-linux-i586-rpm.bin 43 -rw-r--r--. 1 root root 499375 11月 3 2010 sun-javadb-client-10.6.2-1.1.i386.rpm 44 -rw-r--r--. 1 root root 14627 11月 3 2010 sun-javadb-common-10.6.2-1.1.i386.rpm 45 -rw-r--r--. 1 root root 4080625 11月 3 2010 sun-javadb-core-10.6.2-1.1.i386.rpm 46 -rw-r--r--. 1 root root 969861 11月 3 2010 sun-javadb-demo-10.6.2-1.1.i386.rpm 47 -rw-r--r--. 1 root root 4865183 11月 3 2010 sun-javadb-docs-10.6.2-1.1.i386.rpm 48 -rw-r--r--. 1 root root 201273 11月 3 2010 sun-javadb-javadoc-10.6.2-1.1.i386.rpm 49 [root@localhost jdk-6u45]#
以上執行完之後, 會自動在/usr/目錄下生成java目錄, java目錄下包含jdk信息。最後修改/etc/profile文件即可。
1 [root@localhost java]# vim /etc/profile 2 進入文件後,添加JAVA_HOME,CLASSPATH,PATH配置。 3 export JAVA_HOME=/usr/java/jdk1.6.0_45 4 export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 5 export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
6 保存退出文件後,執行使文件生效命令
7 [root@localhost java]# source /etc/profile
b).tar.gz包
1 解壓.tar.gz文件: 2 [root@localhost jdk-8u144]# tar -zxvf jdk-8u144-linux-i586.tar.gz 3 4 解壓後的文件移至/usr/java/下: 5 [root@localhost jdk-8u144]# mv jdk1.8.0_144/ /usr/java/ 6 7 修改/etc/profile文件,配置環境變數, 添加JAVA_HOME,CLASSPATH,PATH路徑, 使文件生效, 同上。
註意:如果/usr目錄下不存在java目錄, 直接使用mv jdk1.8.0_144/ /usr/java/命令, 會自動創建java目錄, 但是不會有jdk1.8.0_144/目錄, 只是將jdk1.8.0_144目錄下的文件移至了/usr/java/目錄下, 如果使用命令前存在java目錄, 則將jdk1.8.0_144/目錄作為整體移至/usr/java/目錄下。
c).rpm包
在使用.bin包方式安裝jdk時, 執行完命令會產生.rpm文件, 可以把這個rpm文件作為安裝文件, 也可以從Oracle下載。
1 初始含有.rpm包文件: 2 [root@localhost jdk-7u80]# ll 3 總用量 133572 4 -rw-r--r--. 1 root root 136775360 7月 23 19:29 jdk-7u80-linux-i586.rpm 5 6 使用rpm命令安裝 7 [root@localhost jdk-7u80]# rpm -ivh jdk-7u80-linux-i586.rpm 8 Preparing... ########################################### [100%] 9 1:jdk ########################################### [100%] 10 Unpacking JAR files... 11 rt.jar... 12 jsse.jar... 13 charsets.jar... 14 tools.jar... 15 localedata.jar... 16 jfxrt.jar... 17 plugin.jar... 18 javaws.jar... 19 deploy.jar... 20 [root@localhost jdk-7u80]# 21 22 當前文件夾不會產生新文件 23 [root@localhost jdk-7u80]# ll 24 總用量 133572 25 -rw-r--r--. 1 root root 136775360 7月 23 19:29 jdk-7u80-linux-i586.rpm
和.bin包的安裝一樣, 執行完命令, 會自動在/usr/目錄下創建java目錄, jdk信息放在jdk目錄下, 配置/etc/profile中配置JAVA_HOME,CLASSPATH,PATH就行。
如果使用rpm -ivh jdk-7u80-linux-i586.rpm命令安裝出現RPM should not be used directly install RPM packages, use Alien instead!這個錯誤, 執行以下命令即可:
rpm -ivh jdk-6u22-linux-i586.rpm --nodeps --force。
3. Linux下jdk的卸載:
a).bin包安裝和.rpm包安裝的jdk卸載:
1 首先查看當前安裝的jdk信息: 2 [root@localhost jdk-7u80]# rpm -qa | grep jdk 3 jdk-1.7.0_80-fcs.i586 4 [root@localhost jdk-7u80]# 5 6 卸載安裝的jdk: 7 [root@localhost jdk-7u80]# rpm -e --nodeps jdk-1.7.0_80-fcs.i586
b).tar.gz包安裝的jdk卸載:
直接刪除解壓後的安裝包即可。
1 進入/usr/java目錄 2 [root@localhost java]# cd /usr/java/ 3 4 刪除解壓後的jdk文件 5 [root@localhost java]# rm -rf jdk1.8.0_144/
c)系統自帶的jdk的卸載:
1 查看自帶的jdk: 2 [root@localhost /]# rpm -qa | grep jdk 3 或者: 4 [root@localhost /]# rpm -qa | grep gcj 5 6 可能得到結果: 7 jdk-1.7.0_80-fcs.i586 8 9 卸載: 10 [root@localhost /]# rpm -e –nodeps jdk-1.7.0_80-fcs.i586 11 或者: 12 [root@localhost /]# ryum -y remove jdk-1.7.0_80-fcs.i586
4.Linux上不同版本jdk的切換:
1)安裝jdk與環境變數的配置:
以jdk6u45,jdk7u80,jdk8u144作為案例安裝版本。其中jdk6u45版本是通過bin包安裝,jdk7u80和jdk8u144通過tar.gz解壓安裝。安裝過程中發現, 在使用bin包安裝一個版本後, 不能使用bin包或rpm包安裝其他版本。安裝目錄分別為:
-
- jdk6u45:/usr/jdk/jdk6u45/jdk1.6.0_45/
- jdk7u80:/usr/jdk/jdk7u80/jdk1.7.0_80/
- jdk8u144:/usr/jdk/jdk8u144/jdk1.8.0_144/
關於環境變數,在/etc/profile文件裡面, 沒有添加任何配置。
2)將安裝的jdk登記在alternatives裡面:
可以使用alternatives命令, 也可以使用sudo update-alternatives 命令。(兩者區別還沒瞭解)
1 jdk6u45添加到alternatives裡面: 2 [root@localhost /]# alternatives --install /usr/bin/java java /usr/jdk/jdk6u45/jdk1.6.0_45/bin/java 3 3 [root@localhost /]# alternatives --install /usr/bin/javac javac /usr/jdk/jdk6u45/jdk1.6.0_45/bin/javac 3 4 [root@localhost /]# alternatives --install /usr/bin/jar jar /usr/jdk/jdk6u45/jdk1.6.0_45/bin/jar 3 5 6 jdk7u80添加到alternatives裡面: 7 [root@localhost /]# alternatives --install /usr/bin/java java /usr/jdk/jdk7u80/jdk1.7.0_80/bin/java 4 8 [root@localhost /]# alternatives --install /usr/bin/javac javac /usr/jdk/jdk7u80/jdk1.7.0_80/bin/javac 4 9 [root@localhost /]# alternatives --install /usr/bin/jar jar /usr/jdk/jdk7u80/jdk1.7.0_80/bin/jar 4 10 11 jdk8u144添加到alternatives裡面: 12 [root@localhost /]# alternatives --install /usr/bin/java java /usr/jdk/jdk8u144/jdk1.8.0_144/bin/java 5 13 [root@localhost /]# alternatives --install /usr/bin/javac javac /usr/jdk/jdk8u144/jdk1.8.0_144/bin/javac 5 14 [root@localhost /]# alternatives --install /usr/bin/jar jar /usr/jdk/jdk8u144/jdk1.8.0_144/bin/jar 5
3)查看安裝的jdk版本並切換:
1 查看已經安裝的jdk版本: 2 [root@localhost /]# alternatives --display java 3 java - 狀態是自動。 4 鏈接目前指向 /usr/jdk/jdk8u144/jdk1.8.0_144/bin/java 5 /usr/jdk/jdk6u45/jdk1.6.0_45/bin/java - 優先度 3 6 /usr/jdk/jdk7u80/jdk1.7.0_80/bin/java - 優先度 4 7 /usr/jdk/jdk8u144/jdk1.8.0_144/bin/java - 優先度 5 8 當前“最佳”版本是 /usr/jdk/jdk8u144/jdk1.8.0_144/bin/java。 9 [root@localhost /]# 10 11 配置已經安裝的jdk版本: 12 [root@localhost /]# alternatives --config java 13 14 共有 3 個程式提供“java”。 15 16 選擇 命令 17 ----------------------------------------------- 18 1 /usr/jdk/jdk6u45/jdk1.6.0_45/bin/java 19 2 /usr/jdk/jdk7u80/jdk1.7.0_80/bin/java 20 *+ 3 /usr/jdk/jdk8u144/jdk1.8.0_144/bin/java 21 22 按 Enter 來保存當前選擇[+],或鍵入選擇號碼:2 23 [root@localhost /]# java -version 24 java version "1.7.0_80" 25 Java(TM) SE Runtime Environment (build 1.7.0_80-b15) 26 Java HotSpot(TM) Server VM (build 24.80-b11, mixed mode) 27 [root@localhost /]#
4)補充:
如果添加錯誤或者想從alternatives中移除可以使用alternatives --remove java /usr/jdk/jdk6u45/jdk1.6.0_45/bin/java命令。
網上查的資料, 只是將bin/java添加到了alternatives中, 在嘗試的過程中, 發現只添加bin/java不能對java文件進行編譯, 所以在上面的也將bin/javac和bin/jar添加到了alternatives中。