目录
JAVA入门级教学之(classpath的配置)
1.打开DOS命令窗口,执行java HelloWorld
2.疑问?:为什么会出现找不到HelloWorld.class文件?
3.解释:
JAVA入门级教学之(classpath的配置)
问题引入:
上一节我们讲到了如何写自己的第一个JAVA程序
里面涉及到了操作系统的环境变量path,其中里面还包括了一个java语言中的环境变量classpath
下面我们来介绍一下java语言中的环境变量classpath有什么用?怎么用?
1.打开DOS命令窗口,执行java HelloWorld
执行原理如下:
- java.exe命令启动JVM-Java Virtual Machine(JAVA虚拟机)
- JVM启动之后会启动类加载器ClassLoader
- ClassLoader会在硬盘上的某个位置搜索HelloWorld.class文件
- 如果找得到文件就执行
- 如果找不到文件就报错
2.疑问?:为什么会出现找不到HelloWorld.class文件?
- 默认情况下,ClassLoader类加载器会从当前路径下加载xxx.class字节码文件
- 当然,也可以让ClassLoader去某个指定路径加载xxx.class字节码文件,这时候就需要配置环境变量classpath
- classpath环境变量属于java语言中的环境变量,不属于windows操作系统【path环境变量属于windows操作系统,注意区分】
怎么解决:
- 设置这样的环境变量:classpath=你存放xxx.class字节码文件的绝对路径
- 接下来打开DOS命令窗口在的任何位置,都可以执行:java HelloWorld
clsaapath环境变量没有配置的话,类加载器默认从当前路径下找字节码文件
当classpath环境变量配置为某个指定的路径之后,类加载器去指定的路径中加载xxx.class字节码文件
因此,每一次执行xxx.class程序的时候,需要在DOS命令窗口中先切换到xxx.class字节码文件所在路径下,才能运行
- 当然,classpath也可以这样配置:classpath=.
- 注意:路径中".."表示上级目录 "."表示当前目录
3.解释:
以上过程配置classpath是给类加载器指路的,因为默认情况下是直接从当前路径找xxx.class文件给JVM,
这时候就需要改变classpath配置环境变量后,给类加载器找到xxx.class字节码文件,来完成运行的过程