每次配置Java 环境的时候都需要配置变量,如何配置很简单,但是为什么要这样配置呢?
Windows 中配置如下
JAVA_HOME
PATH
CLASSPATH
Linux 中配置如下
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin
作用如下
首先
JAVA_HOME
配置java 安装目录(简单点说就是起个名字而已,随意即可,前提是要与下面引用到的地方一致)
PATH
告诉系统java.exe、javac.exe 等执行命令所在目录
CLASSPATH
告诉jvm 虚拟机到哪里寻找class 文件
下面代码演示
通过上面的操作,在Windows中配置完java 的环境变量
新建文本文件,添加以下代码,保存为 HelloJava.java
public class HelloJava{
public static void main(String[] args) {
System.out.println("Hello Java");
}
}
然后就可以在文件所在目录下面,对java 代码进行编译了
编译后生成的文件是class 字节码文件
运行编译后的程序【只需要指定文件名即可】
为什么能在当前目录执行成功呢?还记得我们CLASSPATH 如何设置的吗?
注意:
前面是有一个点’.'的,也就是告诉jvm 从当前目录开始查找class 文件
其它
如果我们随便找个目录执行,就会发现执行报错了【解决方法呢,也很简单,只要将class 文件所在目录加入到classpath 即可】
D:\>java HelloJava
错误: 找不到或无法加载主类 HelloJava
原因: java.lang.ClassNotFoundException: HelloJava
添加class 所在目录到CLASSPATH
再次运行,成功
D:\>java HelloJava
Hello Java
以上
BR