如何在 Java 中设置 CLASSPATH

位置:首页>文章>详情   分类: Java教程 > 编程技术   阅读(462)   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

相关阅读

了解如何在 Java 中设置类路径作为环境变量并作为命令行参数传递。在任何 Java 应用程序的运行期间,CLASSPATH 是一个参数,它告诉 JVM 到哪里寻找类和包。 类路径的默认值为“....
学习设置 CLASSPATH 环境Windows 操作系统中 Java 的变量。这些步骤在所有版本的 Windows 中大致相同,即 Windows 7、Windows 8 、Windows 1...
从系统控制台运行 Java 类(例如 Hello world 应用程序)时,我们可能会遇到此错误(无法找到或加载主类)。我们收到此错误是因为我们错误地尝试使用 main() 命令在类中运行 ja...
在上一篇文章中,您学习了如何在基于 Spring security 的 Java 应用程序中启用 Http 基本身份验证
学习使用 -classpath 或 -cp 选项从 Windows 中的命令提示符设置 Java 类路径,以及Linux操作系统。 1.Java类路径 类路径是目录位置的列表,Java 运行时环...
这是我的 Spring Boot 博客文章系列的第三篇文章。在第一篇文章中,我谈到了我使用 Spring Boot 创建 RESTFul 服务的经验。然后我将示例扩展为与 Swagger 集成文...
在上一篇文章中,我向您展示了如何在 Java 应用程序中启用 Spring 安全性,今天我们将讨论如何在您的 Java Web 应用程序中启用基本 HTTP 身份验证,使用Spring安全。
Learn the basics of RSocket protocol, four possible communication models and implement those mode...
在本文中,我们将讨论 Java 中的 static 关键字。我们涵盖了静态变量、方法、嵌套类、块和导入。 Java静态关键字定义 static 关键字是一个非访问修饰符。带有static修饰符的...
JUnit 5 是下一代 Java 单元测试框架,配备了许多有趣的功能,包括嵌套测试、参数化测试、新扩展 API 或 Java 8 支持等等。 本文展示了 JUnit 5 的基本概念,包括测试生...