Ubuntu下 jdk环境变量设置

时间:2023-11-17 12:01:44

流程

1. 官网下载对应的jdk文件

2. 在根目录 / 下创建一个java目录

mkdir /java

3. 使用mv命令 将下载下来的文件(压缩格式),移动到上一步创建的/java目录下   Ps:先cd到下载文件的所在目录

mv 'jdk文件名' /java

4. 在/java目录下解压 你所下载的jdk文件

tar -***(可选) 'jdk压缩文件名'

5. 压缩成功后,开始设置环境变量,这里坑就比较多了

在linux下,环境变量分为系统级文件和用户级文件

1.系统级文件

/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。这个文件一般就是调用/etc/bash.bashrc文件。

/etc/bash.bashrc:系统级的bashrc文件,为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

/etc/environment: 在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。

2.用户级文件

~/.profile: 在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率 上讲不好。

~/.bash_profile:每个用户都可使用该文件输入专用于自己 使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

~./bash_login:不推荐使用这个,这些不会影响图形界面。而且.bash_profile优先级比bash_login高。当它们存在时,登录shell启动时会读取它们。

~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

~/.pam_environment:用户级的环境变量设置文件。

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。

具体详情,看这篇文章http://www.linuxidc.com/Linux/2016-09/135476.htm

6. 这个问题,有可能会出现,所以讲一下

由于我们的jdk安装目录在/java下,而java是在root下创建的目录,所以对与普通用户的使用可能会出现问题,所以我们用chmod命令修改一下

chmod 777 /java

7. 所以大功告成,在终端输入

java -version

输出

➜  ~ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)