JDK 在 Linux 上安装的详细过程
1、下载JDK
Linux上一般会安装Open JDK,如果有系统预装了OpenJDK的话需要先卸载掉OpenJDK,
卸载过程可以参考这里:https://www.cnblogs.com/sxdcgaq8080/p/7492426.html
关于OpenJDK和JDK的区别:JDK 和 OpenJDK 的区别
可以到Oracle网站选择需要的JDK版本进行下载。
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
这是我下载安装文件:
2、登录Linux
我用的Xshell连接的Linux,如果你登录的不是root用户的话切换为root用户。
su root 只能获得root的执行权限,不能获得环境变量
su -root 切换到root并获得root的环境变量及执行权限
按Enter,输入root的密码,就切换到root用户了
注意:
su:切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
sudo:暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
sudo -i:为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。
sudo su:运行sudo命令给su命令提权,运行su命令。
3、建立安装目录
想要把JDK安装到java目录下,我是在srv目录下新建java目录的。
[root@wangbo /]# cd /srv [root@wangbo srv]# mkdir java
注意:
mkdir -p /test/aaa
test目录下新建aaa文件夹,加-p的话test目录不存在就会被新建,不加-p的话如果test目录不存在,创建aaa目录就会失败。
4、文件上传拷贝
安装上传下载软件包具体操作参考:https://www.linuxidc.com/Linux/2015-05/117975.htm
安装 lrzsz 软件包
[root@wangbo src]# cd /srv/java
[root@wangbo java]# yum install -y lrzsz
把在Windows上下载的安装文件 jdk-8u202-linux-x64.tar.gz 上传到Linux上。
[root@wangbo java]# rz
等上传完毕后,发现文件是红色的,表示权限不足。需要修改权限
[root@wangbo java]# chmod 755 jdk-8u202-linux-x64.tar.gz
修改完后文件就变成绿色的了
将安装文件复制一份到 /usr/local/src/ 作备份。需要进行拷贝操作
linux下文件的复制、移动与删除命令为:cp,mv,rm
[root@wangbo java]# cp /srv/java/jdk-8u202-linux-x64.tar.gz /usr/local/src/
5、解压到当前目录
[root@wangbo java]# tar -zxvf jdk-8u202-linux-x64.tar.gz
解压后得到文件夹
[root@wangbo java]# ll total 189504 drwxr-xr-x 7 10 143 4096 Dec 16 04:53 jdk1.8.0_202 -rwxr-xr-x 1 root root 194042837 Mar 29 12:07 jdk-8u202-linux-x64.tar.gz
命令介绍:
tar:备份文件
-zxvf
-z:通过gzip指令处理备份文件
-x:从备份文件中还原文件
-v:显示指令执行过程
-f:指定备份文件
6、配置环境变量
不会使用vi编辑器的请参考:http://blog.csdn.net/liuligui5200/article/details/52524462
示例:
vi test.txt 打开vi编辑器
i 切换模式
先按 ESC 退出,再按
:wq! 保存后强制退出
:q! 不保存就强制退出
操作:
[root@wangbo java]# vi /etc/profile
按 i 进入编辑模式,在文件末尾添加如下内容:
#java environment export JAVA_HOME=/srv/java/jdk1.8.0_202 export PATH=$PATH:${JAVA_HOME}/bin export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
我这系统是CentOS7,CentOS6上示例:
export JAVA_HOME=/srv/java/jdk1.7.0_60 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
【注】:CentOS6上面的获取变量是$JAVA_HOME,CentOS7是${JAVA_HOME}
以上内容是配置环境变量,也就是配置系统默认的JDK,多个JDK的话只需指定一个,想用其他的JDK的话在使用的地方再进行相应指定,比如Tomcat。
7、使修改生效
[root@wangbo java]# source /etc/profile
8、查看安装结果
[root@wangbo java]# java -version
9、注意事项
JDK版本和Linux版本位数一定要一致,不然会报错的。
查看你的Linux是32位还是64位系统
[root@wangbo java]# uname -a Linux wangbo 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
或者
[root@wangbo java]# uname --m x86_64
i686 表示是32位
x86_64 表示是64位
查看系统信息
[root@wangbo java]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.6.1810 (Core) Release: 7.6.1810 Codename: Core