Java环境变量配置

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文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值