Linux安装JDK
1、检查当前系统中是否已安装JDK
命令:java -version:查看JDK安装版本,命令执行后显示如下,说明本系统默认已经安装JDK1.8.0_242。
[root@localhost ~]# java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
[root@localhost ~]#
2、检测系统JDK默认安装包
Linux有些系统默认安装有OpenJDK是JDK的另一种实现。但是我们不用,原因主要是自带的jdk可能存在缺失文件的可能给后期的操作带来不必要的麻烦
命令:rpm -qa | grep java :命令的意思是搜索java,查看安装包文件。
[root@localhost ~]# rpm -aq | grep java
java-1.8.0-openjdk-headless-1.8.0.242.b08-1.el7.x86_64
python-javapackages-3.4.1-11.el7.noarch
tzdata-java-2019c-1.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64
[root@localhost ~]#
3、卸载OpenJDK
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
1)rpm -qa :查询所有已安装的rpm 软件包
2)grep -i:忽略大小写
3)xargs -n1 :表示每次只传递一个参数
4)rpm -e --nodeps:强制卸载软件
解释:将rpm -qa | grep -i java执行的结果循环遍历,每次传递一个参数给 rpm -e --nodeps 命令卸载
4、安装JDK
在Oracle官网上下载jdk1.8:
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
选择到官网上下载你想要的JDK版本,下载完成之后将需要安装的JDK安装包上传到Linux系统指定的文件夹下,并且命令进入该文件夹下。
【例如: /opt/software/ -- 用于保存上传的文件 ;/opt/module/ -- 用于保存解压后的文件】
解压:从software目录中解压到module目录中
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
5、配置环境变量
Linux环境变量一般配置都在:/etc/profile文件中,但是在 /etc/profile.d/*.sh 配置也是全局生效的。在这里我们新建文件在新建的自有文件中加入配置
新建文件:
vim /etc/profile.d/my_env.sh
在文件中加入配置:
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
保存后退出 :wq!
如上配置方法对于普通用户不生效,可采用如下方法:
假设你使用bash作为shell,你可以把下面的内容添加到你home目录的 .bashrc文件结尾: export PATH=/path/to/java:$PATH。
# 修改jdk属主属组权限
sudo chown -R bc_admin:bc_admin /opt/moudle/
# 打开 .bashrc 文件
vim ~/.bashrc
# 将给定的内容添加到文件的末尾
export PATH=/opt/module/jdk1.8.0_212/bin:$PATH
# 使更改生效
source ./.bashrc
# 上述方法是针对当前用户起作用的,当你注销系统后也会失效,如果想要永久有效,
# 可以在用户家目录下修改或新增 .bash_profile 文件,然后将上述的配置添加到文件末尾
# 使用 source .bash_profile 使其生效
6、重新载入配置文件
重新加载系统配置文件,这样可以使配置不用重启即可立即生效。
source /etc/profile
7、检查新安装的JDK
java -version
java
javac
如上三个命令输入都有正确结果信息,则JDK安装无误!到此为止,整个安装过程结束。
拓展:
- 使用如下命令,查看JDK变量
echo $JAVA_HOME
echo $PATH
echo $CLASSPATH
- 当root用户都无权限执行 java 相关命令时,应该是jdk执行文件的权限问题
chmod -R 755 /opt/module/jdk1.8.0_201/bin