📜  在Java中设置类路径的不同方法

📅  最后修改于: 2022-05-13 01:55:38.588000             🧑  作者: Mango

在Java中设置类路径的不同方法

Java虚拟机 (JVM)使用类路径来定位类文件以执行代码。如果您的类路径未设置并且类文件与您的Java文件不在同一目录中,则 JVM 将无法找到所需的类文件,并且会抛出错误(Java.lang.ClassNotFoundException)。

java.lang.ClassNotFoundException

JVM 解释代码时导致的错误

设置类路径的方法

有五种不同的方法来设置类路径。这些都是:

  • -cp
  • -类路径
  • --类路径
  • 使用“set classpath”命令进行临时设置
  • 使用环境变量窗口的永久设置

–cp , –classpath, –class - path方法的局限性在于只能为当前命令行设置classpath,在下一个命令行中,如果我们直接访问想要的类,我们会得到一个Exception

句法:

>java -cp  

例子:

Java
// This code is located in F:\workspace\src
// It's class file is located in F:\workspace\bin
class GFG {
    public static void main(String[] args)
    {
        System.out.println("GFG!");
    }
}


如何使用 -cp 命令设置类路径

命令行设置 -

>java -cp  

或者

>java -classpath  

或者

>java --class-path  
  • 如果我们想访问所有命令行的类路径,我们必须设置类路径命令选项。
  • “设置类路径”命令选项的限制是类路径设置仅适用于当前命令提示符。

临时设置:

>set classpath=

使用“set classpath”命令临时设置类路径

如果我们想为所有命令提示永久设置类路径,我们必须在环境变量部分设置类路径。

永久设置:

  1. 首先,右键单击“这台电脑”。
  2. 单击属性。
  3. 点击“高级系统设置”。
  4. 单击“环境变量”。
  5. 在“用户变量部分”中,单击“新建”按钮。
  6. 输入变量名:classpath [Don't give space between class path] 变量值:(例如在我的 F:\workspace\bin 中)
  7. 单击确定->确定->确定。
  8. 关闭所有窗口,打开一个新的命令提示符,然后运行Java命令

环境变量设置

永久类路径设置

我们必须包括.;在 classpath 开头,以便JVM可以分别访问当前工作目录和所需类文件的目录。

>java -cp <.;directory_location> 

的重要性 '。'在类路径中

如果我们设置classpath指向一个目录,如果不放置(点),编译器和JVM将找不到当前工作目录中可用的类。 '。'表示当前工作目录。当前工作目录不是您保存 . Java文件,打开命令提示符的文件夹路径。

在类路径中包含多个路径的语法

我们必须用分号分隔符分隔每个文件夹位置。

java -cp ./folder1/*;./folder2/*;./folder3/* com.xyz.MainClass

路径和类路径搜索算法优先级的区别

  • 命令提示符软件会优先显示工作目录。在当前工作目录中,如果二进制文件不可用,则只考虑路径变量。
  • 编译器和JVM首先查找类路径。
  • 如果没有创建类路径,那么只有他们会在当前工作目录中搜索。
  • 如果创建了类路径,它们不会查看当前工作目录,而只会查看类路径文件夹。