Linux JDK 安装以及解决相关碰到的问题
下面以CentOS7为例,记录一下Linux下配置JDK的过程。
有时候,有的Linux系统(eg:阿里云等)会自带JDK,也就是OpenJDK版本,并且默认使用该版本。但是OpenJDK并不能满足我们的时候,需要将其卸载,然后重新安装一个自己需要的JDK版本。那么问题就来了...,言归正传,下面以CentOS7(阿里云)为例。
1、切换root权限,检查OpenJDK版本,并且卸载它。
[[email protected] ~]# rpm -qa | grep java
java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.i686
java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.i686
python-javapackages-3.4.1-11.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
tzdata-java-2012j-1.el6.noarch
卸载OpenJDK:
[[email protected] ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.i686
[[email protected] ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.i686
再次查询OpenJDK,看看是否卸掉了。
[[email protected] ~]# rpm -qa | grep java
python-javapackages-3.4.1-11.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
tzdata-java-2012j-1.el6.noarch
2、按照约定俗成的习惯,一般将jdk放在/usr/local/java下,首先进入/usr/local然后新建一个目录java。
3、到官网上找到Linux的合适的版本使用wget命令下载到服务器上或者上传到服务器上。
备注:下面图片显示版本,非实际安装版本。
[[email protected] ~]# tar xvf jdk-8u202-linux-x64.tar.gz
解压后实际目录:
4、配置环境变量,用vim打开/etc/profile文件来进行全局配置,保存退出vim,然后利用source命令让文件立即生效。
[[email protected] ~]# vim /etc/profile
打开之后光标移到最后一行,进入编辑模式,最后一行可能会有原来配置好的PATH,所以我们先在PATH后面追加一个冒号:,然后追加$JAVA_HOME/bin,然后另起一行继续编辑:
#set java environment
JAVA_HOME=/usr/local/java/jdk1.8.0_181
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
/etc/profile是属于全局的环境变量,也就是说这种配置对于任何用户任何应用都是有效的,对于应用程序来说任何时候都可以使用,但是由于我们把PATH变量写在上面了,所以会出现一个问题,我们每次通过ssh连接终端的时候都要source一下/etc/profile才可以生效。
[[email protected] ~]# source /etc/profile
5、检查。
发现一切正常,大功告成。
注意:
一、发现安装的JDK不起作用,使用Java -version查看版本,依然显示的旧版本,则可能存在下面几种解决方法。
1、使用which命令检查
[[email protected] ~]# which java
[[email protected] ~]# which javac
如果发现Java、javac的路径不是来自安装的JDK,则将以上两条指令执行结果中的java、javac文件删除。
[[email protected] ~]# ln -s $JAVA_HOME/bin/java /usr/bin/java
[[email protected] ~]# ln -s $JAVA_HOME/bin/javac /usr/bin/javac
[[email protected] ~]# source /etc/profile
执行上面语句即可。
如果提示:
-bash: /usr/local/java/bin/java: No such file or directory
原因1:配置时jdk目录放到了最后边,而系统前边有叫java的文件,export PATH=$PATH:$JAVA_HOME/bin
相关方法:配置时export PATH=$JAVA_HOME:$PATH
原因2:在 64 位的 Linux 系统中安装了 32 位的 JDK 环境。
相关方法:sudo apt-get install libc6-i386 lib32gcc1 lib32z1 lib32stdc++6 ia32-libs,当然,直接换一个64位的就OK了。
上面就是在安装过程中碰到的问题,其他问题,如果碰到持续更新,争取都记录到小本本上。