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-Bugs@lists.wku.edu).
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中。