1. 下载JDK8
官网手动下载
下载Linux环境下的jdk1.8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
![image.png](https://img-blog.csdnimg.cn/img_convert/138a847d43a76f0eded5ddd7c78de317.png#align=left&display=inline&height=432&margin=[object Object]&name=image.png&originHeight=863&originWidth=1793&size=146577&status=done&style=none&width=896.5)
去oracle官网下载jdk需要登录
2. 源码包解压
使用xftp将jdk源码包,上传到/usr/local/java(JDK一般安装到这个目录)
![image.png](https://img-blog.csdnimg.cn/img_convert/95d2360bf7cca0a0b6dd95bb8b9c4a79.png#align=left&display=inline&height=135&margin=[object Object]&name=image.png&originHeight=270&originWidth=950&size=40513&status=done&style=none&width=475)
使用命令解压
[root@localhost local]# tar -zxvf jdk-8u181-linux-x64.tar.gz
解压完成
![image.png](https://img-blog.csdnimg.cn/img_convert/f06d82133d725d18124a05cbd942ff73.png#align=left&display=inline&height=53&margin=[object Object]&name=image.png&originHeight=105&originWidth=933&size=14929&status=done&style=none&width=466.5)
3. 配置JDK环境变量
要了解的知识:
- Linux上配置环境变量按照影响的范围,可以分为root级别的,也就是所有的用户都会受到影响,另一种是用户级别的,这种只影响该用户的范围,不影响其他用户;
- Linux配置环境变量的文件常用的有,root级别的有两个:/etc/profile,/root/.bash_profile;用户级别的有一个~/.bash_profile;
配置jdk环境变量有以下3种方式,各不相同,逐一来看
3.1 修改/etc/profile文件
如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
用文本编辑器打开/etc/profile,在profile文件末尾加入:
export JAVA_HOME=/usr/local/java/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
3.2 修改.bash_profile文件(推荐)
这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。
因为生产服务器给了一个用户,所有的操作都在这个用户的权限范围内,但是服务器的jdk和自己的应用服务使用的jdk版本不一致,但是如果修改服务器的jdk可能导致服务器上其他的应用不可用,所以配置用户级别的jdk是最好的方案,只影响本用户下的应用,不影响其他用户;
用户级别的jdk的好处就是,这台服务器上,如果多个用户,使用的jdk都不同,则每个用户都可以单独配置自己的jdk版本,相互不影响;
用文本编辑器打开用户目录下的.bash_profile文件,在.bash_profile文件末尾加入:
export JAVA_HOME=/usr/local/java/jdk1.8.0_291
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME /jre
查看隐藏文件执行: ls -a
3.3 直接在shell下设置变量(不推荐)
不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
只需在shell终端执行下列命令:
export JAVA_HOME=/usr/local/java/jdk1.8.0_291
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME /jre
重新登录
4. 重新加载文件
修改文件保存退出后重新加载文件
source .bash_profile
5. 检查是否配置成功
java -version
版本如果是自己jdk的版本,就ok了;
6.遇到的问题**
- 配置的环境变量不生效;
原因:由于我的jdk不是安装版的,而是直接copy的文件夹,所以导致没有用户权限,然后赋予权限就解决了;
chmod –R 755 /usr/local/java/jdk1.8.0_291
完美解决;
7.需要注意的点
- 要将 /usr/local/java/jdk1.8.0_291改为你的jdk安装目录
- linux下用冒号“:”来分隔路径
- $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值
在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种
常见的错误。
-
CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。
-
export是把这三个变量导出为全局变量。
-
大小写必须严格区分。