如何在 Java 中设置 CLASSPATH

位置:首页>文章>详情   分类:Java教程   阅读(297)   2023-06-26 07:54:18

了解如何在 Java 中设置类路径作为环境变量并作为命令行参数传递。在任何 Java 应用程序的运行期间,CLASSPATH 是一个参数,它告诉 JVM 到哪里寻找类和包。

  • 类路径的默认值为“.(点),表示仅在当前目录中搜索依赖项。
  • 指定 CLASSPATH 环境变量或 -cp 命令行开关会覆盖此值。
  • 指定多个类路径条目的顺序很重要。 Java 解释器将按照类路径变量中出现的顺序在目录中查找类。

Java 类路径分隔符是特定于操作系统的。 Windows ; [分号] Linux/Unix : [冒号]

1. 将CLASSPATH设置为环境变量

当您设置了应用程序运行期间始终需要的 jar 文件的位置时,最好将它们添加到机器的环境变量 'CLASSPATH' 中。

在应用程序运行期间,应用程序类加载器 将始终扫描指定路径中的 jar 文件和类这个变量。

要设置CLASSPATH 环境变量,请在您的计算机中找到用户环境变量的位置,并添加所有存储Jar 文件的路径。在不同的两个文件夹、jar 文件或类之间使用分隔符。

您可以通过以下方式找到用户环境变量窗口

  1. 在桌面上,右键单击计算机 图标。
  2. 从上下文菜单中选择属性
  3. 点击高级系统设置链接。
  4. 点击环境变量。在 System Variables 部分中,找到 CLASSPATH 环境变量并选择它。点击编辑。如果CLASSPATH环境变量不存在,点击新建
  5. 添加所有用分隔符分隔的文件夹。点击确定。点击确定关闭所有剩余的窗口。

系统属性

系统属性

如果您是第一次创建 CLASSPATH,您需要在 Windows 10 中为 Variable Name 指定名称。使用 '.'(点)表示当前目录

2. 从命令行设置 CLASSPATH

使用 -classpath 参数从命令提示符/控制台设置类路径。使用下面给出的命令为不同的要求设置类路径。

假设我们有一个名为 dependency 的文件夹,其中放置了 JAR 文件和其他类。

2.1.在类路径中添加单个 jar 文件

下面的语法示例将在类路径中添加单个 jar 文件

//WINDOWS
$ set CLASSPATH=.;C:\dependency\framework.jar

//Linux/Unix
$ export CLASSPATH=.:/dependency/framework.jar

2.2.在classpath中添加多个jar文件

下面的语法示例将在类路径中添加多个 jar 文件。为此,只需使用操作系统的定界符(;:)作为 CLASSPATH 指定位置之间的分隔符。

添加目录中存在的所有 JAR 文件,请使用通配符 字符 ('*')。

//WINDOWS
$ set CLASSPATH=C:\dependency\framework.jar;C:\location\otherFramework.jar 				
$ set CLASSPATH=C:\dependency\framework.jar;C:\location\*.jar

//Linux/Unix
$ export CLASSPATH=/dependency/framework.jar:/location/otherFramework.jar  	
$ export CLASSPATH=/dependency/framework.jar:/location/*.jar

2.3.将多个类添加到类路径

很多时候,您可能还需要在类路径中添加单独的类。为此,只需添加类文件所在的文件夹。例如假设 location 文件夹中有五个 .class 文件,您希望将其包含在类路径中。

//WINDOWS
$ set CLASSPATH=C:\dependency\*;C:\location

//Linux/Unix
$ export CLASSPATH=/dependency/*:/location

作为最佳实践,始终将所有 JAR 文件和应用程序类组织在一个根文件夹中。这可能是应用程序的工作区。

请注意,包含在 CLASSPATH 中的子目录将不会被加载。为了加载包含在子目录中的文件,这些目录和/或文件必须在 CLASSPATH 中明确列出。

2.4.清除类路径

如果您的 CLASSPATH 环境变量设置为不正确的值,那么您可以取消设置 CLASSPATH 并为其指定空值。

set CLASSPATH=

3. 在 Java 中使用“-classpath”或“-cp”选项执行程序

除了将类路径设置为环境变量外,您还可以在使用 –classpath 选项或 –cp 选项启动应用程序时将其他类路径传递给 Java 运行时。

使用 .(点)将当前路径包含到生成 .class 文件的类路径中。

$ javac –classpath C:\dependency\framework.jar MyApp.Java
$ java –classpath .;C:\dependency\framework.jar MyApp

4. 如何查找和打印 CLASSPATH

任何时候您希望验证 CLASSPATH 变量中的所有路径条目,您可以使用 echo 命令进行验证。

//Windows
c:/> echo %CLASSPATH%

//Linux/Unix
$ echo $CLASSPATH

如果未设置 CLASSPATH,您将得到一个 CLASSPATH: Undefined variable error(Solaris 或 Linux)控制台或简单地在 Windows 命令提示符中打印 %CLASSPATH%

快乐学习!!

阅读更多:

Java – 如何在 Windows 7、8、10 中设置类路径 Java – 从命令行设置类路径

地址:https://www.cundage.com/article/java-classpath.html