如何在 Java 中设置CLASSPATH类路径

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

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

Java 类路径分隔符是特定于操作系统的。

Windows – [分号]
Linux/Unix – [冒号]

1.设置CLASSPATH为环境变量

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

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

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

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

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

系统属性

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

2. 从命令行设置 CLASSPATH

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

假设我们有一个名为dependencyJAR 文件和其他类的文件夹。

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

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

添加单罐
//WINDOWS
$ set CLASSPATH=.;C:\dependency\framework.jar
 
//Linux/Unix
$ export CLASSPATH=.:/dependency/framework.jar

2.2. 在类路径中添加多个 jar 文件

下面的语法示例将在 classpath 中添加多个 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. 将多个类添加到类路径

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

添加类
//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 or Linux) 控制台或在 Windows 命令提示符中打印%CLASSPATH% 。

快乐学习!!

 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JAVA项目CLASSPATH是一个重要的环境变量,用于指定JAVA程序运行时需要加载的和资源文件的路径。如果CLASSPATH设置不正确,会导致无法找到文件或资源文件,从而引发程序运行异常。以下是关于JAVA项目CLASSPATH路径的详解: 1. CLASSPATH设置 在命令行设置CLASSPATH的方法如下: ``` java -classpath <path1>:<path2>:<path3> <classname> ``` 其,`<path1>`、`<path2>`、`<path3>`表示文件或资源文件所在的路径,多个路径之间用冒号分隔。`<classname>`表示要执行的名。 在Eclipse等开发工具,可以在项目的配置设置CLASSPATH。 2. CLASSPATH的顺序 当JAVA程序需要加载一个或资源文件时,会按照CLASSPATH指定的顺序依次在各个路径查找文件。如果找到了就直接加载,否则就继续查找下一个路径,直到找到该文件或查找完所有路径为止。 因此,在设置CLASSPATH时,需要注意路径的顺序。一般来说,应该将当前项目的路径放在最前面,以确保程序能够正确地加载项目和资源文件。 3. CLASSPATH的写法 在设置CLASSPATH时,路径的写法有以下几种: - 绝对路径:例如`/usr/local/java/lib`,表示在根目录下的`/usr/local/java/lib`路径查找文件。 - 相对路径:例如`./lib`,表示在当前路径下的`./lib`路径查找文件。 - 通配符:例如`./lib/*.jar`,表示在当前路径下的`./lib`路径查找所有以`.jar`结尾的文件。 4. CLASSPATH的常见问题 在JAVA项目,常见的CLASSPATH路径问题有以下几种: - 文件或资源文件不存在:如果CLASSPATH指定的路径不存在要加载的文件或资源文件,会导致程序运行异常。 - CLASSPATH顺序设置不正确:如果CLASSPATH指定的顺序不正确,可能会导致程序加载的文件或资源文件不是期望的那个,从而引发程序运行异常。 - CLASSPATH路径包含空格:如果CLASSPATH路径包含空格,需要使用双引号将路径括起来,否则可能会导致程序无法正确加载文件或资源文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值