配置Java的环境变量

    xiaoxiao2021-03-25  223

    一、环境的搭建

    1.JDK简介

    JDKJava Development Kit)是Sun Microsystems针对Java开发员的产品。

    自从Java推出以来,JDK已经成为使用最广泛的Java SDK

    JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库

    2.JDK的安装

    网址:http://www.oracle.com 或者 http://www.java.sun.com

    傻瓜式安装,下一步即可。

    建议:安装路径不要有中文或者特殊符号等,如空格。

    当提示安装JRE时,可以选择不安装。

    3.什么是JRE?什么是JDK?

    JRE(Java Runtime Environment    Java运行环境):JRE=Java虚拟机+核心类库(辅助Java虚拟机运行的文件)。

    JDK(Java Development Kit    Java开发工具包):JDK=jre+Java开发工具集。

    如果想要运行一个已经开发好的Java程序,计算机中只需要安装JRE即可。

    安装了JDK就不需要再单独安装JRE了。

    简单而言,使用JDK开发完成的Java程序,交给JRE去运行。

    4.JDK目录介绍

    bin目录:存放的是Java的开发工具。如编译器、解释器等可执行文件。

    db目录:JDK7附带的一个轻量级的数据库,名字叫做Derby。

    include目录:存放的是调用系统资源的接口文件。

    jre目录:存放的是Java运行环境文件。

    lib目录:存放的是Java的核心类库文件。

    src.zip文件:存放的是JDK所提供的Java类的源代码。

    二、配置path环境变量

    1.存在的问题

    目前在控制台窗口下只能在jdk安装目录的bin目录下才能使用jdk的开发工具,如果想在控制台窗口下任意目录下都能使用javac与java或者jdk其他的开发工具那应该怎么做?

    在dos窗口上敲javac。我们在随意一个目录敲javac或者java的时候,发现dos窗口显示不是内部命令;然后我们在上面敲notepad命令时,则会打开一个记事本程序,但是在当前目录下也不存在notepad.exe的可执行文件,那么为什么能启动呢?

    2.错误原理

    原来在dos窗口写上一个命令的时候,如果在当前目录下找不到指定的可执行文件,那么它会根据path环境变量保存的路径去搜索是否存在这个可执行文件,如果存在则启动该程序,否则就没有这个命令。

    3.解决方法

    进入jdk安装目录下的bin目录。

    在dos命令下敲javac。(如果出现了下图信息则配置成功)

    4.为什么要配置path环境变量

    在jdk安装目录下的bin文件夹中有很多我们在开发中要使用的工具。

    每次执行java的工具都要进入到bin目录下是非常麻烦的。

    根据windows系统在查找可执行程序的原理,我们可以将java工具所在路径定义到path环境变量中,让系统帮我们去寻找可执行程序。

    5.如何配置path环境变量

    我的电脑------->属性------------>高级系统设置---------->高级--------->环境变量------------path。

    将jdk安装目录下bin的路径复制,粘贴到path的最前边。注意:不要忘记加分号;

    6.配置path环境变量的目的是什么?

    控制台可以在任意的路径下都可以找到java的开发工具。

    三.设置临时环境变量

    1.为什么需要设置临时环境变量?

    在现实开发中有时候jdk版本的信息只会使用一次或者几次就不再使用了,例如在测试一个软件在不同jdk版本下的兼容性问题,那么如果是这种需求,我们一般都是通过set命令配置临时环境变量。临时环境变量就是仅对于当前控制台窗口起作用,窗口一旦关闭,那么配置的临时环境变量信息就会消失。

    2.临时环境变量的配置方式:通过dos命令中的set命令来完成。

    3.set命令的用法

    set                                                                                       查看本机所有环境变量信息;

    set 环境变量的名字                                                             查看指定的环境变量信息;

    set 环境变量的名字=路径信息                                            设置指定的环境变量信息;

    set 环境变量的名字=                                                          清空指定的环境变量信息;

    set 环境变量的名字=新路径;%环境变量名字%                在原有的基础上添加新的路径信息;

    4.注意

    在原有环境变量值基础上添加新值,首先通过%变量名%操作符获取到原有环境变量的值,然后加上新值后再定义给该变量名即可。例如:给path环境变量加入新值,set path=新值;%path%

    在原有环境变量值基础上添加新值,不能通过在记事本上写好再复制的方法。因为记事本上会有回车换行,复制到控制台窗口,一旦遇到回车换行就代表一个命令的结束,则会报错。

    这种配置方式只在当前dos窗口有效,窗口关闭,配置消失。

    四.配置JAVA_HOME环境变量

    1.为什么要配置JAVA_HOME环境变量?

    目前path环境变量除了保存了我们自己配置的信息以外,还有系统自带的信息。

    如果一旦不小心删除了path环境变量信息,那么就可能导致系统部分功能无法使用。

    尽量避免修改path环境变量信息。

    2.解决方法

    新建一个环境变量JAVA_HOME保存jdk安装目录。

    在path中通过%%动态的获取JAVA_HOME的值即可,%JAVA_HOME%\bin;

    以后需要更换JDK的目录时,只需要更换JAVA_HOME的目录即可。

    3.配置JAVA_HOME环境变量的目的

    目的是为了尽量避免频繁修改path环境变量。

    五.配置classpath环境变量

    1.为什么要配置classpath环境变量?

    既然class文件(字节码文件)是java的运行文件,需要实现在任意目录下都可以执行某一目录下的class文件。

    根据path环境变量的原理,可以定义一个名为classpath环境变量,将要运行的class文件所在目录定义在该变量中。

    classpath变量值是java类文件的目录。

    path变量值是windows程序文件的目录。

    2.配置classpath环境变量的作用

    设置class文件所在的路径信息。

    一旦配置了classpath路径信息,启动jvm(java虚拟机)的时候,那么java虚拟机就会根据classpath环境变量所保存路径信息下去寻找对应的class文件。

    3.JVM查找类文件的顺序

    如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件。

    如果配置了classpath环境变量,JVM会先在classpath环境变量值的目录中查找要运行的类文件。

    4.设置classpath环境变量信息有分号与没有分号的区别

    如果配置classpath环境变量信息没有加上分号,那么java虚拟机仅会在classpath所保存的路径下去搜索对应的class文件,不会在当前路径下去搜索了。即使当前路径下有,也不会运行。

    如果配置classpath环境变量信息加上分号,那么java虚拟机除了会在classpath所保存的路径下去搜索对应的class文件之外。如果能找到对应的class文件,那么就会马上执行对应的class文件;否则还会去当前路径下去搜索。

    5.注意

    不建议把classpath配置成永久性的环境变量信息,虽然很多书上都会写配置classpath永久性环境变量,如果配置后忘记自己曾经配置过,则会发生很多搞笑的问题。

    从jdk5.0开始sun公司也不建议大家配置classpath永久性环境变量信息,因为现在会自动寻找核心类库。

    分号的作用相当于当前路径,如果set classpath=;e:\,那么先会在当前路径下搜索。

    配置classpath环境变量时,值的结尾处最好不要加分号,如果需要访问当前目录可以用 “.”表示。

    6.set classpath=.;设置路径与set classpath=设置路径;.的区别

    “.”在前面的时候java虚拟机会先从当前路径下寻找class文件,然后再到指定的路径去寻找。

    “.”在后面的时候java虚拟机则会先寻找指定好的路径,然后再到当前路径下去寻找。

    转载请注明原文地址: https://ju.6miu.com/read-1094.html

    最新回复(0)