在 Java 中设置类路径的不同方式
Java 虚拟机(JVM) 使用类路径定位执行代码的类文件。如果没有设置类路径,并且类文件与 java 文件不在同一个目录中,那么 JVM 将无法找到所需的类文件,并且会抛出一个错误(Java . lang . class notfoundexception)。
JVM 解释代码时出错
设置类路径的方法
有五种不同的方法来设置类路径。这些是:
- -cp
- -类路径
- –类路径
- 使用“设置类路径”命令进行临时设置
- 使用环境变量窗口的永久设置
–CP、–类路径、–类路径方法的局限性在于只能为当前命令行设置类路径,在下一个命令行中,如果直接访问需要的类,会得到一个 Exception
语法:
>java -cp <directory_location> <class name>
示例:
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 <directory_location> <class name>
或
>java -classpath <directory_location> <class name>
或
>java --class-path <directory_location> <class name>
- 如果我们想访问所有命令行的类路径,我们必须设置类路径命令选项。
- “设置类路径”命令选项的限制是类路径设置仅适用于当前命令提示符。
临时设置:
>set classpath=<directory_location>
使用“设置类路径”命令临时设置类路径
如果我们想为所有命令提示永久设置类路径,我们必须在环境变量部分设置类路径。
永久设置:
- 首先,右击“这台电脑”。
- 单击属性。
- 单击“高级系统设置”。
- 单击“环境变量”。
- 在“用户变量部分”,单击“新建”按钮。
- 输入变量名:类路径[类路径之间不要有空格]变量值:(例如在我的 F:\workspace\bin 中)
- 单击确定->确定->确定。
- 关闭所有窗口,打开一个新的命令提示符,然后运行 java 命令
环境变量设置
永久类路径设置
我们必须包括。;在类路径中开始,以便 JVM 可以分别访问当前工作目录和所需类文件的目录。
>java -cp <.;directory_location> <class name>
“.”的重要性在类路径中
如果设置类路径指向一个目录,如果不放置(点),编译器和 JVM 都找不到当前工作目录下可用的类。“.”代表当前工作目录。当前工作目录不是保存的文件夹。java 文件,打开命令提示符的文件夹路径。
在类路径中包含多个路径的语法
我们必须用分号分隔每个文件夹位置。
java -cp ./folder1/*;./folder2/*;./folder3/* com.xyz.MainClass
注意–编译器和 JVM 从类路径中查找类所遵循的算法是先来先执行。
路径和类路径搜索算法优先级之间的差异
- 命令提示符软件将优先显示工作目录。在当前的工作目录中,如果二进制文件不可用,只考虑路径变量。
- 编译器和 JVM 首先查找类路径。
- 如果没有创建类路径,那么只有它们会在当前工作目录中搜索。
- 如果创建了类路径,它们不会查看当前的工作目录,只会查看类路径文件夹。
注意–一般在开发者社区,推荐前 4 种类型,他们尽量避免使用使用环境变量窗口的永久设置。
版权属于:月萌API www.moonapi.com,转载请注明出处