Java环境变量配置

作者 : 开心源码 本文共2800个字,预计阅读时间需要7分钟 发布时间: 2022-05-12 共165人阅读

Java环境变量配置

要详情如何配置环境变量,首先要知道为什么需要配置环境变量,所以这里先详情一下java的基础知识。

一、java环境的搭建

1.jdk与jre

jre:java运行环境
jre = java虚拟机 + 核心类库(辅助java虚拟机运行的文件)

jdk: java开发工具集
jdk = jre + java开发工具。

注意:安装jdk的路径,不能带有中文路径或者者是空格。

2.jdk目录详情:

  • bin: 存放的是java的开发工具。
  • db : JDK7附带的一个轻量级的数据库,名字叫做Derby。
  • include :存放的调用系统资源的接口文件。
  • jre : java运行环境
  • lib : 核心类库。
  • src.zip : java源代码

其中bin目录下的两个重要执行文件javac.exe和java.exe:

javac.exe: 启动java编译器对指定的java源文件进行编译。
使用:

javac java源文件

java.exe: 启动java虚拟机解释并执行指定的class文件。
使用:

java 指定的class文件

下面,来编写一个demo来对其进行编译运行Hcx.java

class Hcx{    public static void main(String[] args) {        System.out.println("Hello HCX");    }}

由于java编译器工具在jdk的bin目录下,两种方式:

  • 方式一:把该文件复制到jdk的bin目录下并使用命令:javac Hcx.java
  • 方式二:在jdk的bin目录下使用绝对路径找到要编译的文件:javac e:\study\Hcx.java

上面的两种方式的缺陷:
方式一中,本身的bin目录是存放java的开发工具的,不应该存在少量其余无关的文件。
方式二中,由于java编译器javac.exe是位于jdk的bin目录下的,在编译执行指定文件时,我们面临的问题是每次编译的时候都需要写上java源文件的完整路径。
处理:
假如电脑可以在任意路径下都能找到java的开发工具,那么问题就处理了。由此引来了环境变量的配置。

二、为什么需要配置环境变量

上面提到,正是由于每次在编译指定文件时,我们都需要写上java源文件的完整路径。下面先详情一个在控制台写一个可执行文件的文件名的执行原理。

在控制台写一个可执行文件的文件名的执行原理:
在控制台写一个可执行文件的文件名,那么系统首先会在控制台当前路径下去搜索能否存在该文件,假如可以找到指定的文件,那么就执行该文件,假如找不到该文件,那么系统还会根据path的环境变量所保存的路径信息下去搜索能否有指定的文件,假如能找到,那么就执行该文件。

例如输入:mspaint,即可以直接启动该程序了。

所以,对于少量已经在Path环境变量中配置好的文件,都可以在任意路径下执行。

例如notepad记事本程序,在Path变量中已经配置过,所以在任意目录都可执行该程序:

任意目录都可运行notepad.png

三、配置环境变量

一、只设置Path环境变量

我的电脑—>属性—>高级系统设置—>高级—>环境变量—>Path

注意:由于Path环境变量中每个路径都是使用分号隔开的,所以在增加进jdk的bin路径时要注意前后有没有分号。

javac程序在bin目录中,把jdk的bin目录的路径加入到Path变量中:C:\Program Files\Java\jdk1.8.0_25\bin

配置Path环境变量.png

此时,再次编译运行,通过。

编译运行.png

二、使用JAVA_HOME环境变量

目前path环境变量除了保存了我们自己配置的信息以外,还有系统自带的信息,假如一旦不不小心删除了path环境变量信息,那么即可能导致系统部分功能无法使用。

所以为了尽量避免频繁的修改Path环境变量信息,可以使用一个新的变量。

方法:
新建一个环境变量保存jdk安装目录会发生变化的部分,而后在path环境变量上引用新环境变量所保存的信息。
新建一个环境变量:JAVA_HOME
变量值:存放jdk安装路径D:\java\jdk
在Path中引用该变量:%JAVA_HOME%bin

步骤图示:
①新建JAVA_HOME变量

新建javahome环境变量.png

②在Path中引用

在Path中引用javahome.png

三、配置临时环境变量

在现实开发中有时候jdk版本的信息有时候只会使用一次或者者几次就不再使用了,那么假如是这种情况,一般都是通过set命令配置临时环境变量。

临时环境变量就是仅对于当前控制台窗口起作用,窗口一旦关闭,那么配置的临时环境变量信息会发生消失。

set命令的用法:

命令格式作用
set查看所有的环境变量信息。
set 环境变量的名字查看指定的环境变量信息。
set 环境变量名字 = 路径信息设置指定的环境变量信息。
set 环境变量名字 =清空指定的环境变量信息。
set 环境变量名字 = 新路径;%环境变量名字%在原有的基础上增加新的路径信息。

例:set path=f:\hcx\jdk;%path%

四、classpath环境变量

使用场景:假如class文件在F盘,想要在E盘执行该文件;即当前目录不存在class文件,class文件位于其余目录;此种需求则需要配置classpath环境变量。让jvm去到classpath设置的路径去寻觅要执行的class文件。

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

classpath的作用: 设置class文件的路径信息
作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,一旦配置了classpath路径信息的时候,jvm与java编译器都会根据classpath指定的路径去寻觅class文件。

设置classpath环境变量信息的带分号与不带分号的区别:

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

  2. 假如配置classpath环境变量信息加上分号,那么java虚拟机除了会在classpath所保存的路径下去搜索对应的class文件之外,假如能找到对应的class文件那么就马上指定对应的class文件,否则还会去当前路径下去搜索。哪个配置在前面就先去哪个地方搜索

注意:不推荐配置永久性的classpath环境变量

classpath会由于能否加分号而优先在某个路径下找,假如配置错了,即可能引发少量莫名其妙的问题;可能本身该目录就有对应的class文件,但是配置classpath变量的时候,不记得写分号或者者分号写在了后面,就会导致jvm不优先在当前路径寻觅或者者直接不在当前路径下寻觅对应的class文件。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Java环境变量配置

发表回复