java编程思想 -- CLASSPATH路径

环境变量CLASSPATH

CLASSPATH设置的作用

CLASSPATH设置的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。

Java解释器运行过程:

(1)首先找到CLASSPATH。
(2)CLASSPATH包含一个或者多个目录,用来做.class文件的根目录。
(3)解释器获取包的名称并将每个句点换成反斜杠。产生一个路径。并且与CLASSPATH连接起来产生一个或者多个目录。
(4)Java解释器就在这些目录中寻找对应的.class文件。

示例:

我的CLASSPATH路径如下:

.;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar

.表示当前文件夹。

示例一:没有包含package的类

代码
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
操作

HelloWorld.java所在的文件夹为 F:
(1)打开CMD命令,cd到HelloWorld.java所在的文件夹。
(2)javac HelloWorld.java
(3)java HelloWorld
(4)结果:Hello World

示例二:包含package的类

代码
package helloworld;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
操作

HelloWorld.java所在的文件夹为 F:
(1)打开CMD命令,cd到HelloWorld.java所在的文件夹。
(2)javac HelloWorld.java
(3)java HelloWorld
(4)结果如下 –> 错误: 找不到或无法加载主类 HelloWorld

原因如下:
(1)当前目录是 F:,
(2)运行 java HelloWorld时,根据CLASSPATH变量,当前的java运行环境的根目录是 . , 也就是F:。
(3)解析HelloWorld.class 时, package 为 helloworld , 所以解释器会在F:\helloworld寻找HelloWorld.class。结果自然是找不到。

解决方法

(1)创建一个文件夹helloworld,并把HelloWorld.java放进去。也就是说HelloWorld.java所在的目录是F:helloworld
(2)用javac编译文件
(3)cd到F盘
(3)运行java helloworld/HelloWorld
(4)结果:Hello World

你可能感兴趣的:(java编程思想)