详解Java安装及环境变量配置(Windows&Linux)

2019-11-13  本文已影响0人  rosy_dawn

前面有一篇《环境变量详解》介绍了 Windows 和 Linux 系统下的环境变量,这里介绍一下常见的 Java 环境变量配置。

下载JDK

首先,我们需要先去 Oracle 官方的 JDK 下载页面 https://www.oracle.com/technetwork/java/javase/downloads/index.html 下载 JDK。所下载的 JDK 的版本需要结合 JMeter 对 JDK 版本的要求来选择,这里选择下载 JDK 1.8 版本。笔者撰写这部分内容时的 JDK 版本为 1.8.0_u231。

BaiduShurufa_2019-11-12_23-27-7.png BaiduShurufa_2019-11-12_23-30-49.png

下载完 JDK 之后像安装其他 Windows 程序一样按照安装向导直接安装即可。

Windows 下配置 Java 环境变量

步骤如下:

  1. Windows环境设置环境变量的步骤如前面所述,这里直接开始设置JDK 安装完毕后的 JAVA 环境变量。先将 JDK 主目录添加到 JAVA_HOME 环境变量。
BaiduShurufa_2019-11-12_23-49-17.png

看到这里你可能会有这样的疑问:为什么安装到了 C 盘而不是其他盘,难道不怕影响系统性能吗?哥的 C 盘是固态硬盘,安装到其他盘反而会发挥不出固态硬盘的性能(SSD党在这里骄(zhuang)傲(bi)三秒钟,哈哈),为什么不是 Program files 默认目录呢?因为系统默认目录可能会有写权限的限制,我就把所有开发相关的软件统一安装到了一个自定义目录 softwares 中了。

  1. 然后在将 JDK 的 bin 目录添加到 Path 环境变量中:

选中用户的 Path 环境变量,选择编辑按钮,在弹出的对话框中,点击新建按钮,将 %JAVA_HOME% 目录添加到 Path中:

TIM截图20171022112309.png
  1. 验证。在命令行中输入 java --version 命令,可以看到如下提示说明环境变量设置成功并生效:

    C:\Users\vincent>java -version
    java version "1.8.0_231"
    Java(TM) SE Runtime Environment (build 1.8.0_231-b01)
    Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
    

神马?明明设置了环境变量但是提示找不到 java 命令,那试试《环境变量详解》中介绍的如何快速刷新 Windows 下的环境变量设置吧。

你可能从网上看到过 Java 还需要配置 CLASSPATH 环境变量的,该环境变量主要用来告知 JRE 去哪里寻找所要运行的 .class 文件(可能在一个 jar 包中),这个环境变量通常设置为:

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

其中,. 表示当前目录,dt.jartools.jar 包含编译和运行java程序的 .class 文件。其实从 JDK 1.5 开始,JRE会自动搜索当前目录下的 .class 文件,当使用 Java 的编译和运行工具是,系统会自动加载dt.jartools.jar 中包含的 .class 文件。所以,从 JDK 1.5 开始 CLASSPATH 环境变量就不需要设置了,但是,只要设置了就必须设置为上面的值,否则编译或运行 Java 程序就会出错。

Linux 下配置 Java 环境变量
  1. 首先在官方网站上下载 JDK 安装文件,我下载的为:jdk-8u171-linux-x64.rpm,当然也可以下载 .tar.gz 格式的文件,但是这种文件需要手动解压后复制安装文件到目标安装目录(一般为 /usr/java/jdk1.8.0_171 格式的目录)中,这里不再详细介绍;

  2. 使用 FTP 工具将 jdk-8u171-linux-x64.rpm 安装文件上传至 Linux 的某个用户目录中(我这里为 /home/tomcat 目录),然后安装 jdk-8u171-linux-x64.rpm:

    [root@localhost tomcat]# yum localinstall jdk-8u171-linux-x64.rpm
    
  3. 如果需要设置系统级别的环境变量来让所有用户可用,则可以使用 sudo vim /etc/profile.d/java_home.sh 命令新建一个 sh 文件,并配置以下环境变量:

# Oracel Java Environment Variables Configuration Start
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
# CLASSPATH is not necessary since JDK 1.5
#export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
# Oracel Java Environment Variables Configuration End

如果需要设置针对某个特定用户的环境变量,则可以使用sudo vim ~/.bashrc 命令在文件末尾添加上面的环境变量配置。

使用 vim 保存后,可以执行 cat /etc/profile.d/java_home.sh命令(系统级设置)或 cat ~/.bashrc命令(用户级设置)查看一下配置是否正确。

  1. 修改完成后,接下来需要更新环境变量配置。

对于系统及环境变量,可以使用 source /etc/profile 命令进行更新(查看/etc/profile 文件的内容发现该文件会读取 /etc/profile.d/java_home.sh 中的配置)。如果该命令操作时提示权限不足,那么将 $JAVA_HOME/lib/dt.jar$JAVA_HOME/lib/tools.jar 这两个文件的权限修改为可执行,然后重新执行 source /etc/profile 命令:

[root@localhost jdk1.8.0_171-amd64]# source /etc/profile
-bash: /usr/java/jdk1.8.0_171-amd64/lib/tools.jar: Permission denied
[root@localhost tomcat]# cd /usr/java/jdk1.8.0_171-amd64/lib
[root@localhost lib]# ll
total 39780
drwxr-xr-x. 3 root root     4096 May 23 21:03 amd64
-rw-r--r--. 1 root root  1218653 Mar 29 08:21 ant-javafx.jar
-rw-r--r--. 1 root root 18229876 Mar 29 08:15 ct.sym
-rw-r--r--. 1 root root   159870 Mar 29 08:21 dt.jar
-rw-r--r--. 1 root root    18432 Mar 29 08:15 ir.idl
-rw-r--r--. 1 root root    35992 Mar 29 08:23 javafx-mx.jar
-rw-r--r--. 1 root root   404452 Mar 29 08:21 jconsole.jar
-rwxr-xr-x. 1 root root    10493 Mar 29 08:21 jexec
drwxr-xr-x. 7 root root     4096 May 23 21:03 missioncontrol
-rw-r--r--. 1 root root      640 Mar 29 08:15 orb.idl
-rw-r--r--. 1 root root     4633 Mar 29 08:23 packager.jar
-rw-r--r--. 1 root root  2381736 Mar 29 08:21 sa-jdi.jar
-rw-r--r--. 1 root root 18233649 May 23 21:03 tools.jar
drwxr-xr-x. 6 root root     4096 May 23 21:03 visualvm
[root@localhost lib]# chmod 751 dt.jar
[root@localhost lib]# chmod 751 tools.jar
[root@localhost lib]# ll
total 39780
-wxr-xr-x. 3 root root     4096 May 23 21:03 amd64
-rw-r--r--. 1 root root  1218653 Mar 29 08:21 ant-javafx.jar
-rw-r--r--. 1 root root 18229876 Mar 29 08:15 ct.sym
-rwxr-x--x. 1 root root   159870 Mar 29 08:21 dt.jar
-rw-r--r--. 1 root root    18432 Mar 29 08:15 ir.idl
-rw-r--r--. 1 root root    35992 Mar 29 08:23 javafx-mx.jar
-rw-r--r--. 1 root root   404452 Mar 29 08:21 jconsole.jar
-rwxr-xr-x. 1 root root    10493 Mar 29 08:21 jexec
drwxr-xr-x. 7 root root     4096 May 23 21:03 missioncontrol
-rw-r--r--. 1 root root      640 Mar 29 08:15 orb.idl
-rw-r--r--. 1 root root     4633 Mar 29 08:23 packager.jar
-rw-r--r--. 1 root root  2381736 Mar 29 08:21 sa-jdi.jar
-rwxr-x--x. 1 root root 18233649 May 23 21:03 tools.jar
drwxr-xr-x. 6 root root     4096 May 23 21:03 visualvm
[root@localhost jdk1.8.0_171-amd64]# source /etc/profile

如果没有root用户密码,则可以使用sudo source /etc/profile命令(前提是当前用户在 root 组中,该命令会提示输入当前用户的密码),如果执行sudo source /etc/profile命令时提示source: command not found,请仔细检查所配置的环境变量(字母和路径)是否正确,或尝试执行locate source /etc/profile命令或/usr/bin/source /etc/profile命令。

对于用户级环境变量,会在修改了~/.bashrc命令之后立即生效。

  1. 有的 Linux 系统中预装了 Open JDK,所以即使上面进行了上面这些步骤,可能系统默认的 JDK 还不是 Oracle JDK,如果要真正使用 Oracle JDK,可以选择卸载 Open JDK:

    [root@localhost ~]# rpm -qa | grep openjdk
    java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
    java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
    java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
    java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
    [root@localhost ~]# rpm -e --nodeps java-1.8.0-openjdk
    [root@localhost ~]# rpm -e --nodeps java-1.7.0-openjdk
    [root@localhost ~]# rpm -e --nodeps java-1.8.0-openjdk-headless  
    [root@localhost ~]# rpm -e --nodeps java-1.7.0-openjdk-headless
    [root@localhost ~]# rpm -qa | grep openjdk
    [root@localhost ~]# 
    

    确定 Open JDK 已经完全卸载了,然后就可以为 Oracle JDK 设置环境变量了。当然,也可以不卸载 Open JDK 而直接安装 Oracle JDK,然后为 Oracle JDK 设置环境变量就行了。

  2. 使用 java -version 命令来查看我们的 java 环境变量,显示如下版本信息说明大功告成:

    [root@localhost tomcat]# echo $JAVA_HOME
    /usr/java/jdk1.8.0_171-amd64
    [root@localhost tomcat]# java -version
    java version "1.8.0_171"
    Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
    [root@localhost tomcat]# javac -version
    javac 1.8.0_171
    [root@localhost tomcat]# 
    
上一篇下一篇

猜你喜欢

热点阅读